为什么菜单项出现在optionsMenu?(Why the menu items appear on

2019-10-20 07:43发布

尽管有一定的作用相关的一些图标,并且在没有足够的空间Actionbar ,它们出现在optionsMenu ,而不是出现在overflow图标。

我膨胀的actionBar有五个图标,每个人都有一个特定的功能“请参阅下面的XML文件”,其中有项目android:showAsAction=never我希望他们含蓄地驻留在内部overflow的图标actionBar ,但是当我运行应用程序,以该财产的任何项目android:showAsAction=never ,而不是出现在optionsMenu 。 为什么出现这种情况? 我希望我解释清楚的问题。

更新

简单地说,我想,如果有一个图标没有空间来放置在ActionBar ,他们应该被放在里面overflow图标,如下图所示“超过对方三个垂直点的图标”的。

要注意

我使用的银河注3

为什么我的问题是标记为重复。 建议为重复的问题比我有什么不同? 请重新审查这个问题。

Java_Code:

public class ActionBarActivityTest00 extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_action_bar_activity_test00);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.action_bar_activity_test00, menu);
    return super.onCreateOptionsMenu(menu);
}

XML:

<menu 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.actionbaractivitytest.ActionBarActivityTest00" >

<!-- Search / will display always -->
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="action_search"
      android:showAsAction="ifRoom"/>

<!-- Location Found -->
<item android:id="@+id/action_location_found"
      android:icon="@drawable/ic_action_location_found"
      android:title="action_location_found"
      android:showAsAction="ifRoom" />

<!-- Refresh -->
<item android:id="@+id/action_refresh"
      android:icon="@drawable/ic_action_refresh"
      android:title="action_refresh"
      android:showAsAction="ifRoom" />

<!-- Help -->
<item android:id="@+id/action_help"
      android:icon="@drawable/ic_launcher"
      android:title="action_help"
      android:showAsAction="never"/>

<!-- Check updates -->
<item android:id="@+id/action_check_updates"
      android:icon="@drawable/ic_action_refresh"
      android:title="action_check_updates"
      android:showAsAction="never" />

Answer 1:

下面添加财产showasaction =从不所有菜单项

android:orderInCategory="2"

这就是it..it将显示在溢出男人..改变我的示例代码为您的方案,并在我的应用程序工作正常

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.demo.MainActivity" >

 <item
    android:id="@+id/action_settings1"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="ifRoom"/>
  <item
    android:id="@+id/action_settings2"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="ifRoom"/>
   <item
    android:id="@+id/action_settings3"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="ifRoom"/>
<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="never"/>

<item
    android:id="@+id/action_settings5"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="never"/>



Answer 2:

尝试这个:

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.fafad.MainActivity" >

  <!-- Search / will display always -->
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="action_search"
      android:orderInCategory="1"
      app:showAsAction="ifRoom"/>

<!-- Location Found -->
<item android:id="@+id/action_location_found"
    android:orderInCategory="2"
      android:icon="@drawable/ic_action_location_found"
      android:title="action_location_found"
      app:showAsAction="ifRoom" />

<!-- Refresh -->
<item android:id="@+id/action_refresh"
      android:icon="@drawable/ic_action_refresh"
      android:orderInCategory="3"
      android:title="action_refresh"
      app:showAsAction="ifRoom" />

<!-- Help -->
<item android:id="@+id/action_help"
      android:icon="@drawable/ic_launcher"
      android:orderInCategory="4"
      android:title="action_help"
      android:showAsAction="never"/>

<!-- Check updates -->
<item android:id="@+id/action_check_updates"
      android:icon="@drawable/ic_action_refresh"
      android:orderInCategory="5"
      android:title="action_check_updates"
      app:showAsAction="never" />

</menu>


文章来源: Why the menu items appear on the optionsMenu?