Android:在导航栏中显示选项菜单

时间:2014-10-23 11:27:59

标签: android navigation-drawer android-optionsmenu

我在XML文件中定义了一个菜单,例如" home_menu.xml"像这样:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<!-- Should always be in the overflow -->
<item
    android:id="@+id/action_settings"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
<item
    android:id="@+id/action_user_preferences"
    android:showAsAction="never"
    android:title="@string/action_user_preferences"/>
<item
    android:id="@+id/action_logout" 
    android:showAsAction="never"
    android:title="@string/action_logout"/>

</menu>

在我的&#34; Home&#34;活动,我可以通过按下具有物理按钮的设备中的菜单按钮来访问此菜单,但我不想使用操作栏,因此我想为谷歌地图添加导航抽屉。

如果我可以使用我的Home活动中定义的相同onOptionsItemSelected()方法来处理菜单操作,那就太棒了。

1 个答案:

答案 0 :(得分:0)

你无法做到这一点。

您必须手动执行此操作。

或半手动。你可以在onCreateOptionsMenu中获取所有带有标题,图标和id的菜单项,并为抽屉生成视图(例如listview)。 并使用共享方法来处理在参数中获取id的单击。 但是如果你想在菜单中隐藏/显示一些元素,你必须手动更新你的列表视图,因为onCreateOptionsMenu不会被调用。如果你有多个带菜单的片段,你也必须做点什么。

所以即使有硬件菜单键,我也建议使用抽屉。