Android:按下菜单按钮弹出菜单

时间:2011-07-06 20:02:14

标签: android menu

我想要一个普通的菜单按钮弹出第二个菜单。

我不希望显示选项的列表视图,我想在菜单上按下按钮时弹出第二个标准菜单。

使用openOptionsMenu();使用onCreateOptionsMenu

时有效

但使用时不起作用:onPrepareOptionsMenu

由于我想动态更改菜单上的选项,我需要使用onPrepareOptionsMenu。

由于

1 个答案:

答案 0 :(得分:2)

对任何没有操作本身但打开第二个菜单的菜单项使用菜单组。这是我做过的一个例子。

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:titleCondensed="Cats" android:title="Cats" android:id="@+id/cats">
        <menu>
            <group android:id="@+id/catsGroup">
                <item android:titleCondensed="Lolz Cats" android:title="Lolz Cats" android:id="@+id/twod"></item>
                <item android:titleCondensed="Ugly Cats" android:title="Ugly Cats" android:id="@+id/ref"></item>
                <item android:titleCondensed="Dumb Cats" android:title="Dumb Cats" android:id="@+id/vr"></item>
            </group>
        </menu>
    </item>
    <item android:titleCondensed="Dogs" android:title="Dogs" android:id="@+id/dogs">
        <menu>
            <group android:id="@+id/dogsGroup">
                <item android:titleCondensed="Awesome Dog" android:title="Awesome Dog" android:id="@+id/pan"></item>
                <item android:titleCondensed="Under Dog" android:title="Under Dog" android:id="@+id/zoom"></item>
                <item android:titleCondensed="Snoopy" android:title="Snoopy" android:id="@+id/contrast"></item>
                <item android:titleCondensed="Scooby Doo" android:title="Scooby Doo" android:id="@+id/page"></item>
                <item android:titleCondensed="Pluto" android:title="Pluto" android:id="@+id/rotate"></item>
            </group>
        </menu>
    </item>
</menu>

将显示的第一个菜单项是“猫”和“狗”。当您选择这些时,将显示其子项。希望这会有所帮助。