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);
}
您必须检查应用程序主题中是否没有任何操作。如果您共享您的主题或样式,这将非常有用。xmlemulator 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);
}