私はAndroid 2.2のために構築されたアプリを持っていますので、3.0+組み込みのActionBarクラスを使用せず、数年前に導入されたGoogleの古いUI推奨を使用して独自のカスタムActionBar実装を構築します。メニューバーを備えた携帯電話でActionBarを正しく使用したことはありますか?
私のすべての画面は1〜3つのアクションが実行できるので、ActionBar UI(Googleは最大3つのボタンを持つことをお勧めします)にすべてうまく収まります。問題は今、私の画面には通常のオプションメニューがないので、ユーザーがハードウェアメニューボタンを押したときに何もしないということです。
Googleのインターフェースガイドラインによると、これは正しい動作です。アクティビティーにオプションメニューがない場合は、メニューボタンを押したときに何もしないでください。私はユーザーテスト中に、メニューを押しても何も起こらない(そしてすべてのユーザーが試してみた、通常は複数回の)ときに、かなり困惑していることがわかりました。彼らは、ActionBarを使って画面上に表示されているアクションを高く評価していると同時に、Menuボタンに何かをさせたいと考えています。
私はGoogleのファーストパーティーのアプリを見てきましたが、ActionBarがいっぱいになってからオプションメニューを読み込めるだけの十分なオプションがあるようです。 Google+は従来の方法でメニューボタンを使用しているため、オーバーレイオプションを持つ電話機ではオーバーフローオプションが使用され、そうでない電話機の場合はActionBarのドロップダウンメニューが表示されます。 3つ以上のアクションがあっても動作しますが、現在は動作しません。
私のユーザーの期待に応える唯一の方法は、ボタンを押したときに何かが起きるように、オプションメニューに値のないいくつかの迷惑メールオプションを置くことです。私は本当にそれをしたくありません。誰もこの問題に対処する良い方法を知っていますか?私はメニューボタンだけを残して、何もしないことを人々が理解してくれると期待していますか?
補強ありがとうございます。私はメニューボタンを空のままにして、それについて心配することはしません。メニューボタンはおそらくこれからもハイエンドの携帯電話から段階的に廃止されるため、これは短期的な問題です。 また、Compatリンクのおかげで、私はそれを見ていなかった。私のカスタム実装はHoneycombが発表される前に終了していましたので、私がすでにうまく動作していたので、可能な限りネイティブのものをサポートすることは一度もありませんでした。 – chefgon