メニューボタンの無いAndroid端末で、メニュー用の黒領域を出さない方法を調べてみた
Android2.x系までの端末では、一般的に、
メニュー・ホーム・バックの3つのボタンがハードキーとして用意されていた。
Android3.x系のタブレットや、Android4.x系のスマートフォンでは、
ハードキーが用意されていないか、
バック・ホーム・タスク切替の3つのボタンがハードキーとして用意されている端末が
増えてきている。
# 私が普段使っているHTCJ(ISW13HT)もメニューでなくタスク切替ボタンがついている。
このようにメニューボタンが無い端末で、
Android2.x系向けに作られたアプリを動かした場合に、
画面下側にメニュー呼出用の黒い領域が出てきて、格好悪い。
せめて、自分が作るアプリくらいはこの状態を避けたいと思ったので、調べてみた。
私の作ったミニゲーム「落下棒」では、
メニューがない(メニューボタンに何も機能を割り付けていない)ので、
やりたいことは、単純に画面下側の黒い部分を消したいだけでした。
アプリ内の処理でAndroidOSのバージョンを見て切り分けたりかなと調べていたが、
実はあっさり「AndroidManifest.xml」を以下のようにするだけだった。
修正前:
<uses-sdk android:minSdkVersion="8" />
修正後:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />
要するに、Android4.x系向けにコンパイルしなおすだけでしたww
ManifestでしているSdkVersionの意味は、以下の参考サイトを読んで下さい。
参考)
<uses-sdk> | Android Developers
ちなみに、メニューがあるアプリの場合は、
ActionBarCompatというもので、タイトルバーにボタンを追加するという方法になるみたいです。
参考)
ActionBarCompatでAndroidらしいタイトルバーを作る - 三度の飯とエレクトロン
Android3.x以降専用のアプリであれば、
タイトルバーが、メニューボタンなどを表示できるように、
ActionBarとして使えるように拡張されているので。
そして、多くのAndroid3.x以降向けアプリでは、
タイトルバーにメニューボタンが表示されています(例えばGmailなど)。
参考)
ActionBarにMenuを表示する - TechBooster
6.3 アクションバーの使用 - ソフトウェア技術ドキュメントを勝手に翻訳
以上、今年の夏はAndroid4.0端末がたくさん出ているので、
いろいろと対応が必要になりそうですね。
Discussion