0

メニュー バーに 3 つのメニュー アイコンがありますが、常に 2 つのアイコンしか表示されず、最後のアイコンがどこにもありません。私の質問は次のとおりです。1. 3 つのアイコンに十分なスペースがあるのに、なぜ 2 つしか表示されないのですか? 2. システムが 3 番目のアイコンには十分なスペースがないと判断した場合、2 番目と 3 番目のアイコンをオーバーフロー メニューに結合しないのはなぜですか?

以下は私のmenu.xmlです

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >



    <item android:id="@+id/refresh"
          android:icon="@drawable/ic_menu_refresh"
          android:showAsAction="ifRoom" />        
    <item android:id="@+id/add_homework"
          android:icon="@android:drawable/ic_menu_edit"
          android:showAsAction="ifRoom" />    
    <item android:id="@+id/set_groupid"
          android:icon="@android:drawable/ic_menu_preferences"
          android:showAsAction="ifRoom" /> 


</menu>

このスニペットは私の MainActivity にあります

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    return super.onCreateOptionsMenu(menu);

}
4

2 に答える 2

5

メニューバーに3つのメニューアイコンがあります

この回答の目的のために、「メニューバー」によってアクションバーを参照していると想定しています。

しかし、毎回2つのアイコンしか表示されず、最後のアイコンはどこにもありません

オフスクリーン MENU ボタンを持つデバイス (またはエミュレーター) では、最後の 1 つを MENU ボタンを押すことで利用できます。

3 つのアイコンに十分なスペースがあるのに、なぜ 2 つしか表示されないのですか?

おそらく、3 つのアイコンに十分なスペースがあるかどうかの評価に Android が同意しないためです。

3 番目のアイコンにはスペースが足りないとシステムが判断した場合、2 番目と 3 番目のアイコンをオーバーフロー メニューに結合しないのはなぜですか?

2番目のアイコン(あなたの承認によると、これに収まります)をオーバーフローメニューに強制するのが良い考えだと思う理由がわかりません。3 番目のメニュー項目はオーバーフロー メニューにあり、MENU ボタンのないデバイスのアクション バーに 1 つまたは 3 つの縦のドット ボタンがあるデバイスの MENU ボタンからアクセスします。

于 2012-11-06T01:20:59.070 に答える
3

主な理由は2番目の項目だと思いますが、この同じ問題に遭遇し、2つのことを行うことで解決しました. Android Asset Studio を使用して、Actionbar メニューのアイコンを作成していました。

  1. Android Asset Studio で、アイコンを「トリム」に設定しました。

  2. menu/activity_main.xml 定義ファイル (またはメニュー定義ファイルと呼ぶもの) で、メニュー アイコンを android:showAsAction="always"で定義しました。

それは次のように見えました:

   <item android:id="@+id/menu_test"
     android:icon="@drawable/ic_menu_test"
     android:title="@string/menu_test"
     android:showAsAction="always" />
于 2013-03-15T17:47:28.787 に答える