バージョン2.3.3以降(同じSDKバージョンを使用)のAndroidアプリを作成しており、従来のメニューボタンを使用しています。
メニューオーバーフロー(?)機能のないカスタムActionBarライブラリも使用しました。では、物理的なメニューボタンなしで新しいAndroidデバイスにメニューを表示する方法はありますか?できれば、別のライブラリを使用するためにActionBarを変更したり、Androidの新しいSDKを使用したりする必要はありませんか?
ありがとう。
バージョン2.3.3以降(同じSDKバージョンを使用)のAndroidアプリを作成しており、従来のメニューボタンを使用しています。
メニューオーバーフロー(?)機能のないカスタムActionBarライブラリも使用しました。では、物理的なメニューボタンなしで新しいAndroidデバイスにメニューを表示する方法はありますか?できれば、別のライブラリを使用するためにActionBarを変更したり、Androidの新しいSDKを使用したりする必要はありませんか?
ありがとう。
レガシーメニューボタンを実装しました
何のために?アプリケーションがレガシーアプリケーションの場合、Androidはこれを単独で処理し、Honeycomb以降に画面上のメニューボタンを追加するので、気にする必要はありません。
この記事を参照してください:メニューボタンに別れを告げる
アプリが専用のメニューボタンのないデバイスで実行されている場合、システムは、マニフェスト要素でサポートすることを宣言したAPIレベルに基づいて、アクションオーバーフローをナビゲーションバーに追加するかどうかを決定します。ロジックは次のように要約されます。
minSdkVersionまたはtargetSdkVersionのいずれかを11以上に設定すると、システムはレガシーオーバーフローボタンを追加しません。
それ以外の場合、Android 3.0以降で実行すると、システムはレガシーオーバーフローボタンを追加します。
唯一の例外は、minSdkVersionを10以下に設定し、targetSdkVersionを11、12、または13に設定し、ActionBarを使用しない場合、Android4.0またはより高い。
レガシーアプリのソフトメニューキーは次のようになります。
また、過去数日間の私の回答をいくつか確認することもできます。どちらの質問もActionBarSherlockに関するものです
注:これらの両方の回答でも述べられているように、繰り返します。これは、オーバーフローメニューを強制したい開発者のためのオプションを提供しているだけです。