首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在操作栏和菜单键中显示菜单项

在操作栏和菜单键中显示菜单项
EN

Stack Overflow用户
提问于 2013-11-24 09:16:20
回答 2查看 1.8K关注 0票数 0

在res/ menu /mymenu.xml中有一个菜单项:

代码语言:javascript
复制
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        android:showAsAction="ifRoom"  />

</menu>

但是当我按下菜单键时,菜单就不会出现。它只显示在动作栏中。此外,我尝试了android:showAsAction="never",但那次项目只显示在菜单键屏幕上。我想在操作栏和屏幕上显示该项目,当我按下菜单键时就会显示。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-24 15:34:36

请记住,所有菜单项只显示一次。您不能指示菜单两次显示单个菜单项,无论是溢出一次,还是在操作栏中一次。

使用android:showAsAction="never",您可以指示Android将菜单项放入溢出菜单中。(在没有硬件菜单按钮的设备上,菜单项将显示在操作栏溢出中。在具有硬件菜单按钮的设备上,菜单项将显示在屏幕底部的弹出菜单中,这也称为动作条溢出。)

对于android:showAsAction="always",您会做相反的事情;不管是否有足够的空间,它总是会出现在操作栏中。

尽管我完全不鼓励您采用这种方法,但严格地回答您的问题是提供两个菜单项:一个带有模式never,另一个带有模式always

相反,我建议您重新考虑是否需要溢出菜单中的项目。仔细考虑Google's recommendations on the action bar,要么显示它,要么将其放置在溢出中--而不是两者兼而有之。还请记住,如果在使用ifRoom时有足够的空间,不同的设备配置可能允许显示更多的项目。

票数 5
EN

Stack Overflow用户

发布于 2016-08-19 10:12:30

只需复制your_menu.xml中的菜单项,标题相同,但id不同。然后在onOptionsItemSelected()中使用与R.id.action_settingsShown导致的新R.id.action_settingsHidden相同的代码函数。

代码语言:javascript
复制
<item android:id="@+id/action_settingsShown"
    android:title="@string/settings"
    android:icon="@drawable/ic_action_settings_dark"
    android:showAsAction="ifRoom"/>

<item android:id="@+id/action_settingsHidden"
    android:title="@string/settings"
    android:icon="@drawable/ic_action_settings_dark"
    android:showAsAction="never"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20172916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档