我在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"
但是那个时候项目只显示在菜单键屏幕上。我想在操作栏和按菜单键时显示的屏幕中显示项目。
提前谢谢。
答案 0 :(得分:5)
请记住,所有菜单项仅显示一次。您无法指示菜单两次显示单个菜单项,无论是溢出中的一次还是操作栏中的一次。
使用android:showAsAction="never"
,您正在指示Android将菜单项收入溢出菜单。 (在没有硬件菜单按钮的设备上,菜单项将显示在操作栏溢出中。在带有硬件菜单按钮的设备上,菜单项将显示在屏幕底部的弹出菜单中,这也是已知的当动作栏溢出。)
使用android:showAsAction="always"
,你会做相反的事情;无论是否有足够的空间,它总会出现在操作栏中。
虽然我完全不鼓励您采取这种方法,但严格回答您的问题是提供两个菜单项:一个使用模式never
,另一个使用模式always
。
我建议您重新考虑是否要在溢出菜单中使用该项目。仔细考虑Google's recommendations on the action bar,然后显示它或将其放在溢出中 - 而不是两者。另请注意,如果在使用ifRoom
时有足够的空间,不同的设备配置可能会允许显示更多项目。
答案 1 :(得分:0)
只需复制config/blueprints.js
中具有相同标题但ID不同的菜单项。然后在your_menu.xml
中使用与onOptionsItemSelected()
指向新R.id.action_settingsShown
的位置相同的代码函数。
R.id.action_settingsHidden