为什么它只在动作栏上显示2个菜单图标,即使有足够的空间容纳3?

Bla*_*ake 0 android menu overflow

我在菜单栏上有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>
Run Code Online (Sandbox Code Playgroud)

这个片段在我的MainActivity中

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

}
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

菜单栏上有3个菜单图标

出于这个答案的目的,我假设你通过"菜单栏"指的是操作栏.

但每次它只显示2个图标,最后一个图标无处可见

对于具有离屏MENU按钮的设备(或仿真器),按MENU按钮可以使用最后一个.

有足够的空间容纳3个图标,为什么只显示2个图标?

大概是因为Android不同意你对3个图标是否有足够空间的评估.

如果系统认为第3个图标的空间不够,为什么不将第2个和第3个图标组合成溢出菜单?

我不知道为什么你认为强制第二个图标 - 这是你的承认,适合 - 溢出菜单将是一个好主意.第3个菜单项位于溢出菜单中,可通过操作栏上具有一个或三个垂直点按钮的设备上的MENU按钮访问,该按钮用于没有MENU按钮的设备.