Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 菜单没有';不要出现在动作栏上_Java_Android_Menu - Fatal编程技术网

Java 菜单没有';不要出现在动作栏上

Java 菜单没有';不要出现在动作栏上,java,android,menu,Java,Android,Menu,我正在尝试为我的活动创建一个菜单。但是它不能像我一样出现在操作栏上。帮我找错地方 这是我的菜单 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.sship.MainActivity" xmlns:app="http://schemas.android.com/a

我正在尝试为我的
活动创建一个菜单。但是它不能像我一样出现在
操作栏上。帮我找错地方

这是我的菜单

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

<item
    android:id="@+id/search"
    android:icon="@drawable/ic_action_search"
    android:title="@string/menu_item_search"
    android:showAsAction="always"/>

<item 
    android:id="@+id/about"
    android:orderInCategory="1"
    android:title="@string/menu_item_about_app"/>

<item 
    android:id="@+id/help"
    android:orderInCategory="2"
    android:title="@string/menu_item_help"/>
这就是结果


我猜您使用的是styles.xml定义的默认工具栏,例如
Theme.AppCompat.Light.darkaActionBar

我建议您使用文档中描述的支持操作栏


提示:文档告诉您在应用程序清单中定义NoActionBar主题,但您也可以在styles.xml中进行设置,这样您就可以更好地控制在何处使用此操作栏。

Android 4.4之前,该设备有一个硬件菜单按钮,因此,操作溢出菜单通过硬件按钮激活,因此溢出图标不显示。

您必须在4.4之前的设备中强制执行此操作才能显示操作溢出按钮。在活动的
onCreate()方法中尝试以下代码

ViewConfiguration configure = ViewConfiguration.get(context);
Field menuField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuField != null) {
    menuField.setAccessible(true);
    menuField.setBoolean(config, false);
}

您必须检查应用程序主题中是否没有任何操作。如果您共享您的主题或样式,这将非常有用。xml

emulator with api 16请提供styles.xml代码好吗?
ViewConfiguration configure = ViewConfiguration.get(context);
Field menuField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuField != null) {
    menuField.setAccessible(true);
    menuField.setBoolean(config, false);
}