web-dev-qa-db-ja.com

Androidオーバーフローメニューにアイコンが表示されないのはなぜですか?

Androidが3.xの後にアクションバーを導入した後、メニューアイテムがオーバーフローで表示される場合、そのネイティブAPIがすべてのアイコンを非表示にすることを発見しました(MENU-button-lackingの3つのドット(省略記号))デバイス、またはMenuボタンを押した後、そのデバイスにメニューボタンがある場合)。

このようにリフレクションAPIを使用して強制的にアイコンを表示することもできますが StackOverflowへの投稿 であり、SNote/SPlannerなどのSamsungデバイスに組み込まれているアプリケーションにもアイコン付きのオーバーフローメニュー項目があります。明らかに、これはAndroidプラットフォームの元のオーバーフローメニュー項目の組み込み動作ではありません。

だから私はなぜAndroidはオーバーフローメニュー項目にアイコンを一緒にすべきではないと考えているのでしょうか?オーバーフローメニューにアイコンがあるのは悪い考えであるUI設計の理由はありますか?

言い換えれば、オーバーフローメニューにアイコンを表示しないというこの設計の背後にある哲学は何ですか、そしてアイコンを強制的に表示するのが悪い考えかどうかです。私が見つけるのは この動作の説明 だけですが、合理的なUI/UXの説明はありません。

3
Brian Hsu

その理由はおそらく、オーバーフローメニューの項目はあまり使用されない項目であるはずであり、アイコンの束ではなくフルテキストを表示するためです。 リンクを参照 。アイテムが頻繁に使用されている場合(他のアプリでも)、ユーザーはアイコンの機能に慣れていますが、オーバーフローメニューにはアプリに固有のメニュー項目が含まれている可能性があり、アクションを説明するアイコンの認識は異なる可能性がありますユーザーのものに似ています。これを見てください リンクも

一方、アクションバーのアクションアイテムには、アプリに関連して頻繁に使用されるアクションまたは重要なアクションが表示されます(デフォルトではテキストがないことを確認してください)

もちろん、メニューのxmlでAndroid:showAsAction="always"を設定して、アイコンを表示することもできます。

2
raj zachariah

googleがv3.0以降で禁止しているため

メニューボタンにさよならを言ってください

Android 3.0(Honeycomb))以前は、すべてのAndroid搭載デバイスに専用のメニューボタンが含まれていました。開発者は、メニューボタンを使用して、ユーザーに関連するオプションを表示できます。アクティビティの組み込みオプションメニュー。Honeycombは、物理ボタンへの依存を取り除き、ActionBarクラスを標準オプションとして導入して、ユーザーオプションからのアクションをすぐに表示してすばやく起動できるようにしました

0
Bilal Maqbool