操作栏appcompat子菜单

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中,结果并不是我想要的。
enter image description here
我也尝试过。
<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>

请问如何达到相同的图片效果?(可能是弹出菜单?)

请帮帮我。

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>

什么鬼?所有的解决方案中,这是唯一一个对我有效的!哇,谢谢。 - frostymarvelous

0

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

移除所有的android:showAsAction="...",并设置所有的app:showAsAction="always"或者="ifRoom|withText"

希望我已经回答了你的问题,如果是,请将其标记为正确答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接