私の元のアプリケーションは Android 2.1 用に作成されました。その後、互換ライブラリと ActionBar Sherlock を追加しました。ここで、オプション メニューをアクション バーのオーバーフローとして表示したいと思います。これは期待どおりに機能します。ただし、メニュー ボタンのないデバイスでは、画面の下部にデフォルトのメニュー バーが表示されます。それをクリックすると、アクション バーからオプション メニューが開きます。下の画像を参照してください。
さらに悪いことに、このバーは、オプション メニューが定義されていないアクティビティにも表示されます。
関連するコードに関しては、特別なことは何もありません。膨張オプションメニュー:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:icon="@drawable/ic_menu_flag" android:title="@string/I_STR_LANGUAGE" android:id="@+id/menu_lang" android:showAsAction="never"></item>
<item android:icon="@drawable/ic_menu_pin_change" android:title="@string/change_pin" android:id="@+id/menu_pin_change" android:showAsAction="never"></item>
<item android:icon="@drawable/ic_menu_about" android:id="@+id/menu_about" android:title="@string/about_application" android:showAsAction="never"></item>
<item android:icon="@drawable/ic_menu_exit" android:id="@+id/menu_logout" android:title="@string/I_CLOSE" android:showAsAction="never"></item>
</menu>
アプリケーション テーマは DarkActionBar Sherlock テーマから継承
<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
システム メニュー バーを非表示にする方法はありますか? オプション メニューはアクション バーからのみ表示できますか? オプションメニューのないアクティビティでは、少なくとも非表示にできますか?
[アップデート:] <uses-sdk android:minSdkVersion="7" />