【问题标题】:why it only show 2 menu icon on the actionbar even though there are enough space for 3?为什么即使有足够的空间容纳 3 个,它也只在操作栏上显示 2 个菜单图标?
【发布时间】:2012-11-06 00:16:23
【问题描述】:

我在菜单栏上有 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>

这个 sn-p 在我的 MainActivity 中

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

}

【问题讨论】:

    标签: android menu overflow


    【解决方案1】:

    我在菜单栏上有 3 个菜单图标

    出于本答案的目的,我假设“菜单栏”指的是操作栏。

    但每次它只显示 2 个图标,最后一个不存在

    对于具有屏幕外 MENU 按钮的设备(或模拟器),按下 MENU 按钮可以使用最后一个。

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

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

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

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

    【讨论】:

    • 谢谢!这就是我要找的,尤其是最后一个答案!
    【解决方案2】:

    我遇到了同样的问题并通过做两件事来解决它,尽管我认为主要原因是第二项。我正在使用 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" />
    

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 2011-10-13
      • 2022-09-28
      • 2013-07-03
      • 1970-01-01
      相关资源
      最近更新 更多