繁体   English   中英

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

[英]why it only show 2 menu icon on the actionbar even though there are enough space for 3?

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

}

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

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

但每次只显示2个图标时,最后一个都不在位置

对于具有屏幕外MENU按钮的设备(或仿真器),可以通过按MENU按钮使用最后一个。

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

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

如果系统认为第3个图标的空间不足,为什么不将第2个和第3个图标合并到一个溢出菜单中呢?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM