自分用のメモです。Android4.xを搭載の端末として、以下のものがあります。
- Galaxy Nexus(ハードキーのメニューボタンなし)
- NexusS(ハードキーのメニューボタンあり)
AndroidManifest内のminSdkVersion,targetSdkVersionの内容によっても挙動が変わります。これらの端末および、AndroidManifestの組み合わせによって、どのように表示が変わるかをまとめます。
Galaxy Nexus 4.01 (ハードキーのメニューボタンなし) |
NexusS 4.03 (ハードキーのメニューボタンあり) |
|
minSdk=10,targetSdk=なし | オプションメニュー 仮想メニューボタン(右下)表示あり |
オプションメニュー 仮想メニューボタン(右下)表示なし |
minSdk=11,targetSdk=なし | アクションバー(右上) | アクションバー(右上) |
minSdk=10,targetSdk=11 | アクションバー(右上) | アクションバー(右上) |
上記振る舞いの理由としては、以下と考えられます。
- オプションメニュー表示(アクションバー表示非対象)は、ハードキーのメニュー有無により、仮想メニューボタン(右下)の表示有無が切り替わる。
- オプションメニューとアクションバーの表示切替は、minSdk,targetSdkによって挙動が変化する(APIレベル10(2.3.x)以前:オプションメニュー、APIレベル11(3.0)以降:アクションバー)。
以上です。