Android 始终在支持操作栏中显示菜单项
我正在开发android应用程序。我已经在其中实现了支持的操作栏。我想始终显示选项菜单项。但它没有表现出来。它显示在下拉菜单中。我的菜单项代码如下所示Android 始终在支持操作栏中显示菜单项,android,android-actionbar,optionmenu,Android,Android Actionbar,Optionmenu,我正在开发android应用程序。我已经在其中实现了支持的操作栏。我想始终显示选项菜单项。但它没有表现出来。它显示在下拉菜单中。我的菜单项代码如下所示 <item android:id="@+id/action_settings" android:icon="@drawable/add_post" android:title="@string/action_settings" /> 任何帮助都将不胜感激。来自 您应该将showAsAction属性
<item
android:id="@+id/action_settings"
android:icon="@drawable/add_post"
android:title="@string/action_settings"
/>
任何帮助都将不胜感激。来自
您应该将showAsAction
属性添加到always
或ifRoom
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
您可以在android菜单xml文件中使用不同的
android:showAsAction
属性值
要在actionbar上显示所有时间可见的菜单,您应该使用android:showaAction=“always”
您也可以使用android:showAsAction=“ifRoom”,但它会在操作栏中显示菜单,但并不总是如此,而是会根据不同的屏幕大小显示
已编辑
参考:
然后尝试使用下面的代码
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_lang"
app:showAsAction="always" <!-- app:showAsAction="ifRoom" -->
android:title="@string/menu_lang"
android:icon="@android:drawable/ic_input_lang"/>
</menu>
如果使用AppCompat
ActionBar,则必须以以下方式更改布局:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_settings"
android:icon="@drawable/add_post"
android:title="@string/action_settings"
app:showAsAction="always" />
</menu>
showaAction
属性将仅适用于自定义前缀,请参阅。据它说:
请注意,上面的showAsAction属性使用标记中定义的自定义命名空间。这在使用支持库定义的任何XML属性时都是必要的,因为这些属性在旧设备上的Android框架中不存在
希望这有帮助。删除这一行xmlns:app=”http://schemas.android.com/apk/res-auto“
使用android:showAsAction=“always”
而不是app:showAsAction=“always”
我知道这个问题已经2年多了,但是为了完整起见,如果您想在代码中设置这个问题,请使用以下内容:
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
其他选择包括
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_AS_ACTION_IF_ROOM
MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_WITH_TEXT
MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
这行代码无效。是否更新了代码?你能把溢出图标也显示为截图吗?我已经添加了示例图像。我想显示永久按钮。不要掉下来,谢谢你,卡比拉。我得到了我的答案。可能是您缺少一个名称空间。如果您在Eclipse中,请检查这一点。有时XML会显示错误,您必须清理项目,只要您不再修改XML,错误就会消失。若这样做,请再次清理项目,错误将消失。我正在使用AppCompat库。当我使用app:showAsAction=“always”时,它不会给我任何结果。所有菜单都在下拉菜单下。但是,如果我将
android:showAsAction=“always”
放在语句中,即使我使用AppCompat,也会得到预期的结果,但语句下面会有一条红线警告。在这种情况下应该怎么做?
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_AS_ACTION_IF_ROOM
MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_WITH_TEXT
MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW