簡體   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