3

在我的应用程序android中,我想添加一个这样的操作栏(它有一个子菜单)

在此处输入图像描述

我的 xml 代码是

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/menu_item_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always"
        android:icon="@drawable/abc_ic_search"
        android:title="Search Products">
    </item>

    <item
        android:id="@+id/menu_Home"
        app:showAsAction="never"
        android:icon="@drawable/abc_ic_search"
        android:showAsAction="ifRoom|withText"
        android:title="Home"/>
    <item
        android:id="@+id/menu_favourite"
        app:showAsAction="never"
        android:icon="@drawable/abc_ic_search"
        android:showAsAction="ifRoom|withText"
        android:title="favourite"/>
    <item
        android:id="@+id/menu_Balance"
        app:showAsAction="never"
        android:icon="@drawable/abc_ic_search"
        android:showAsAction="ifRoom|withText"
        android:title="Balance"/>
    <item
        android:id="@+id/menu_logout"
        android:icon="@drawable/abc_ic_search"
        app:showAsAction="never"
        android:showAsAction="ifRoom|withText"
        android:title="Logout"/>
</menu>

在 android sdk 2.x 结果不是我想要的

在此处输入图像描述

我也试过

<item
    android:id="@+id/root_menu"
    DetailsPage:showAsAction="always"
    android:icon="@drawable/abc_ic_menu_moreoverflow_normal_holo_light"
    android:title="More">
    <menu>
        <item
            android:id="@+id/menu_Home"
            DetailsPage:showAsAction="ifRoom|withText"
            android:icon="@drawable/abc_ic_search"
            android:showAsAction="ifRoom|withText"
            android:title="Home"/>
        <item
            android:id="@+id/menu_Balance"
            DetailsPage:showAsAction="ifRoom|withText"
            android:icon="@drawable/abc_ic_search"
            android:showAsAction="ifRoom|withText"
            android:title="Balance"/>
        <item
            android:id="@+id/menu_logout"
            android:icon="@drawable/abc_ic_search"
            DetailsPage:showAsAction="ifRoom|withText"
            android:showAsAction="ifRoom|withText"
            android:title="Logout"/>
    </menu>
</item>

我该怎么做才能拥有相同的图片(也许是菜单弹出?)

请帮帮我

4

2 回答 2

3

将命名空间从 app 更改为 compat 解决了我的问题:

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


    <item
        android:id="@+id/action_submenu"
        android:title="@string/action_submenu"
        android:icon="@drawable/abc_ic_menu_moreoverflow_normal_holo_dark"
        compat:showAsAction="always">

        <menu>
            <item
                android:id="@+id/action_settings"
                android:title="@string/action_settings"
                compat:showAsAction="always"/>

            <item
                android:id="@+id/action_example"
                android:title="@string/action_example"
                compat:showAsAction="withText|ifRoom"/>
        </menu>
    </item>

</menu>
于 2014-04-17T16:12:04.017 回答
0

您以错误的方式使用命名空间。要让 showAsAction 属性正常工作,您必须使用“app”命名空间而不是 android 命名空间。在您的第一次尝试中,您正在使用它,并且每次设置showAsAction="never". 这就是为什么你没有得到预期的结果。

删除所有你的android:showAsAction="..."并设置所有的app:showAsAction="always"="ifRoom|withText"

希望我回答了你的问题,如果我回答了,请检查它是否为正确答案。

于 2014-01-31T15:03:43.120 回答