Android4.x(GalaxyNexus、NexusS)のメニュー表示の挙動

自分用のメモです。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)以降:アクションバー)。

以上です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です