メニューボタンの無い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
http://developer.android.com/intl/ja/guide/topics/manifest/uses-sdk-element.html
ちなみに、メニューがあるアプリの場合は、
ActionBarCompatというもので、タイトルバーにボタンを追加するという方法になるみたいです。
参考)
ActionBarCompatでAndroidらしいタイトルバーを作る - 三度の飯とエレクトロン
http://blog.katty.in/811
Android3.x以降専用のアプリであれば、
タイトルバーが、メニューボタンなどを表示できるように、
ActionBarとして使えるように拡張されているので。
そして、多くのAndroid3.x以降向けアプリでは、
タイトルバーにメニューボタンが表示されています(例えばGmailなど)。
参考)
ActionBarにMenuを表示する - TechBooster
http://techbooster.jpn.org/andriod/ui/3383/
6.3 アクションバーの使用 - ソフトウェア技術ドキュメントを勝手に翻訳
http://www.techdoctranslator.com/android/guide/ui/actionbar
以上、今年の夏はAndroid4.0端末がたくさん出ているので、
いろいろと対応が必要になりそうですね。