0

xml からオプション メニューを膨らませるのに問題があります。これが私のコードです:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    super.onCreateOptionsMenu(menu);

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
} 

エミュレーターのメニュー ボタンを押すと問題なく動作しますが、ics を実行している実際のデバイスで実行するとメニュー バーが表示されません。

4

1 に答える 1

0

メニューボタンはAndroid3.0以降を実行しているデバイスから削除され、「非推奨」と見なされるようになりました。理由、新しいActionBarの使用方法、および古いアプリケーションのレガシーサポートを維持する方法についてのすばらしいブログ投稿があります。

<uses-sdk> アプリが専用のメニューボタンのないデバイスで実行されている場合、システムは、マニフェスト要素でサポートすることを宣言したAPIレベルに基づいて、アクションオーバーフローをナビゲーションバーに追加するかどうかを決定します。ロジックは次のように要約されます。

  • minSdkVersionまたはを11以上に設定するtargetSdkVersionと、システムはレガシーオーバーフローボタンを追加しません。
  • それ以外の場合、Android 3.0以降で実行すると、システムはレガシーオーバーフローボタンを追加します。
  • 唯一の例外は、minSdkVersion10以下targetSdkVersion、11、12、または13に設定し、ActionBarを使用しない場合、Android 4.0以降を搭載した受話器でアプリを実行すると、システムがレガシーオーバーフローボタンを追加することです。

Android開発を開始している場合、または今すぐ新しいアプリケーションを作成している場合は、この種のメニューを使用せずに、ActionBarを使用してください。

下位互換性のために、ヘルパーは「サポートライブラリ」で利用できます。

ActionBarはライブラリでサポートされていません。ただし、オプションメニューを作成するときに、アクションバーが利用可能になったときにどのアイテムをアクションバーに追加するかを宣言できます(Android 3.0以降)。

于 2012-07-08T23:33:28.200 に答える