2011-12-09 6 views
6

私はAndroid 2.2のために構築されたアプリを持っていますので、3.0+組み込みのActionBarクラスを使用せず、数年前に導入されたGoogleの古いUI推奨を使用して独自のカスタムActionBar実装を構築します。メニューバーを備えた携帯電話でActionBarを正しく使用したことはありますか?

私のすべての画面は1〜3つのアクションが実行できるので、ActionBar UI(Googleは最大3つのボタンを持つことをお勧めします)にすべてうまく収まります。問題は今、私の画面には通常のオプションメニューがないので、ユーザーがハードウェアメニューボタンを押したときに何もしないということです。

Googleのインターフェースガイドラインによると、これは正しい動作です。アクティビティーにオプションメニューがない場合は、メニューボタンを押したときに何もしないでください。私はユーザーテスト中に、メニューを押しても何も起こらない(そしてすべてのユーザーが試してみた、通常は複数回の)ときに、かなり困惑していることがわかりました。彼らは、ActionBarを使って画面上に表示されているアクションを高く評価していると同時に、Menuボタンに何かをさせたいと考えています。

私はGoogleのファーストパーティーのアプリを見てきましたが、ActionBarがいっぱいになってからオプションメニューを読み込めるだけの十分なオプションがあるようです。 Google+は従来の方法でメニューボタンを使用しているため、オーバーレイオプションを持つ電話機ではオーバーフローオプションが使用され、そうでない電話機の場合はActionBarのドロップダウンメニューが表示されます。 3つ以上のアクションがあっても動作しますが、現在は動作しません。

私のユーザーの期待に応える唯一の方法は、ボタンを押したときに何かが起きるように、オプションメニューに値のないいくつかの迷惑メールオプションを置くことです。私は本当にそれをしたくありません。誰もこの問題に対処する良い方法を知っていますか?私はメニューボタンだけを残して、何もしないことを人々が理解してくれると期待していますか?

答えて

4

ほとんどのユーザーはメニューボタンが存在しないことを前提とし、実行可能なアイテムをすべて画面に表示するのが一番良いと思うのは安全だと思います。 Googleのユーザーテストではこれが明らかになったため、メニューを削除し、Android 3.0以降の組み込みのアクションバーを使用して最近の4.0リリースに至りました。

何かについては、3.0以前のオプションメニュー/ 3.0以降のオーバーフローメニューに1つの「情報」項目が追加されます。これにより、アプリケーションに関する簡単な情報(バージョン、ライセンス、ウェブサイトへのリンク、著者など)がダイアログに表示されます。このようにして、メニューボタンを押しても何かが起こるはずですが、各アクティビティを最大限に活用するためには必須ではありません。

私は、Android 2.2のために組み込まれているアプリを持っているので、私は組み込みのアクションバークラス3.0+を使用してではなく、数年に導入されたGoogleの古いUI勧告を使用して独自のカスタムアクションバーの実装を構築していませんよ前。

アクションバーライブラリの著者として、この文が私を邪魔します。 3.0以前のバージョンではカスタムアクションバーの実装を使用し、3.0以降ではカスタムアクションバーの実装を使用することはかなり簡単です。 GoogleのAction Bar Compatサンプルをご覧ください。

...これはあなたのために行うActionBarSherlockのような図書館にも行くことができます。 </shamelessPlug>

+0

補強ありがとうございます。私はメニューボタンを空のままにして、それについて心配することはしません。メニューボタンはおそらくこれからもハイエンドの携帯電話から段階的に廃止されるため、これは短期的な問題です。 また、Compatリンクのおかげで、私はそれを見ていなかった。私のカスタム実装はHoneycombが発表される前に終了していましたので、私がすでにうまく動作していたので、可能な限りネイティブのものをサポートすることは一度もありませんでした。 – chefgon

関連する問題