在res/ menu /mymenu.xml中有一个菜单项:
<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",但那次项目只显示在菜单键屏幕上。我想在操作栏和屏幕上显示该项目,当我按下菜单键时就会显示。提前谢谢。
发布于 2013-11-24 15:34:36
请记住,所有菜单项只显示一次。您不能指示菜单两次显示单个菜单项,无论是溢出一次,还是在操作栏中一次。
使用android:showAsAction="never",您可以指示Android将菜单项放入溢出菜单中。(在没有硬件菜单按钮的设备上,菜单项将显示在操作栏溢出中。在具有硬件菜单按钮的设备上,菜单项将显示在屏幕底部的弹出菜单中,这也称为动作条溢出。)
对于android:showAsAction="always",您会做相反的事情;不管是否有足够的空间,它总是会出现在操作栏中。
尽管我完全不鼓励您采用这种方法,但严格地回答您的问题是提供两个菜单项:一个带有模式never,另一个带有模式always。
相反,我建议您重新考虑是否需要溢出菜单中的项目。仔细考虑Google's recommendations on the action bar,要么显示它,要么将其放置在溢出中--而不是两者兼而有之。还请记住,如果在使用ifRoom时有足够的空间,不同的设备配置可能允许显示更多的项目。
发布于 2016-08-19 10:12:30
只需复制your_menu.xml中的菜单项,标题相同,但id不同。然后在onOptionsItemSelected()中使用与R.id.action_settingsShown导致的新R.id.action_settingsHidden相同的代码函数。
<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"/>https://stackoverflow.com/questions/20172916
复制相似问题