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 按钮的设备(或仿真器),按下 MENU 按钮可以使用最后一个。

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

大概是因为 Android 不同意您对是否有足够空间容纳 3 个图标的评估。

如果系统认为第三个图标空间不够用,为什么不将第二个和第三个图标组合成一个溢出菜单呢?

我不知道您为什么认为将第二个图标(您承认它适合)强制放入溢出菜单是个好主意。第三个菜单项位于溢出菜单中,对于缺少 MENU 按钮的设备,可通过操作栏上有一个或三个垂直点按钮的设备上的 MENU 按钮访问。

于 2012-11-06T01:20:59.070 回答
3

我遇到了同样的问题并通过做两件事来解决它,尽管我认为主要原因是第二项。我正在使用 Android Asset Studio 为我的操作栏菜单创建图标。

  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 回答