1

Android 3タブレットに物理的な(または「ソフト」な)メニューボタンがないことを補う必要があります。私が取り組んでいるアプリは、通常、そのアクティビティのタイトルバーを非表示にしますが、アクションバーをタブレットに表示したい場合は、これを行うことはできません。デバイスにメニューボタンがあるかどうかを判断するために使用できるAPIに何かありますか?

そのような機能が見つからない場合、Android 3.0以降ではタイトルバーを絶対に非表示にしないことしか考えられませんが、2つの理由で気になります。

  1. Android 3.0(またはそれ以降のAPI)は、最終的にはメニューボタンを備えた電話をサポートすると思います
  2. そのSDKバージョンをハードコーディングしたくない(Android 3.0以降ではタイトルバーを非表示にできない可能性がありますが、電話でタイトルバーを非表示にしないリスクがあります)
4

3 に答える 3

5

LeffelManiaには正しい考えがありますが、注意点があります。SDK11(3.0)をターゲットにして、タイトルバーなしのテーマを使用するか、ある種のカスタムタイトルでオーバーライドすると、メニューがなくなります。ターゲットが11のオプションメニューに設定されているHoneycombデバイスは、下部のステータスバーにある偽のメニューボタンではなく、タイトルバー自体に表示されます。だから気をつけて!(これを回避するには、より低いターゲットを設定するか、スタイルリソースをv11にターゲット設定して、その場合はタイトルバー付きのHoloテーマの1つを使用します)。

于 2011-03-24T21:52:51.537 に答える
2

非推奨:Androidフレームワークと設計ガイドラインが変更されたため、この回答は正確ではなくなりました。


Android携帯にはメニューボタンが付いていることが保証されています。Honeycomb以前のすべての電話にはメニューボタンがあり、Honeycombには常に存在するソフトウェアボタンがあります。メニューボタン(onCreateOptionsMenu()、onOptionsItemSelected()など)に関連する適切なコールバックを使用すると、Androidを実行しているすべてのデバイスでこれらのコールバックを安全に受信できます。

于 2011-03-24T21:00:52.380 に答える
0

APIレベル14以降、永続的なメニューキーが存在するかどうかを示すためにViewConfiguration.hasPermanentMenuKey()を使用できます。

于 2012-08-01T00:39:02.313 に答える