如何在android中更改动作栏溢出菜单的显示位置

时间:2014-05-02 10:13:22

标签: android android-actionbar android-menu

有人能告诉我如何更改android中操作栏溢出菜单的显示位置吗?在我的应用程序中有一个图像按钮。如果用户单击图像按钮,我想在图像按钮下方显示操作栏溢出菜单。有可能吗?

由于

2 个答案:

答案 0 :(得分:1)

您必须自己做,可能使用PopupMenu

PopupMenu popupMenu = new PopupMenu(context, view /*anchor view for this popup*/);
popupMenu.inflate(R.menu.some_menu_resource);

/* in the onClick listener of the anchor view */
popupMenu.show();

答案 1 :(得分:1)

您可以在action bar Overflow menu文件夹中定义menu,例如说出your_menu.xml。

并在 Manifest 文件中进行更改。点击Split Action Bar

<activity uiOptions="splitActionBarWhenNarrow" ... >// for API >=11
        <meta-data android:name="android.support.UI_OPTIONS" // support for >=8
                   android:value="splitActionBarWhenNarrow" />
    </activity>

菜单如下

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/button" android:title="@string/menu_option" android:icon="@drawable/icon" android:showAsAction="always">
        <menu>
            <item android:id="@+id/action1" android:title="@string/menu_action1" />
            <item android:id="@+id/action2" android:title="@string/menu_action2" />
            <item android:id="@+id/action3" android:title="@string/menu_action3" />
            <item android:id="@+id/action4" android:title="@string/menu_action4" />
            <item android:id="@+id/action5" android:title="@string/menu_action5"/>

        </menu>
    </item>
</menu>

如果action bar中有空格,那么当您点击ImageButton时,会在该按钮下方显示“溢出”菜单。

如果Action bar中没有空格,则会显示在底部。如果您点击ImageButton,则会在按钮顶部打开溢出菜单。