2

我的应用程序针对 SDK 17,我正在使用 Android 4.x 模拟器进行测试(使用支持库和 ActionBarSherlock,以便 ActionBar 可用于 Android 2.x)。

我的一项活动有 6 个菜单项。有 3 个至关重要,需要一直展示。剩余的 3 个可以在溢出菜单中,但如果有空间放置第 4 个或第 5 个图标,我希望尽可能多地显示。

我的问题是 ActionBar 似乎只显示 ALL 或 NONE。我设置android:showAsAction="always"了前 3 个,然后设置android:showAsAction="ifRoom"了后 3 个。但是,我在 ActionBar 中没有显示它们,但它添加了溢出菜单动作(三个垂直点),然后在溢出菜单中显示所有 6 个动作。

我一直在迭代和测试,试图弄清楚它决定如何表现。如果 6 个选项中的任何一个都有,ifRoom那么它们都将被放入溢出菜单,这似乎很愚蠢。

难道我做错了什么?我怎样才能得到一些显示的动作并让溢出菜单......保持溢出

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <group android:id="@+id/group" >
        <item
            android:id="@+id/add"
            android:icon="@drawable/ic_menu_btn_add"
            android:showAsAction="always"
            android:title="Add"/>
        <item
            android:id="@+id/calculateNPV"
            android:icon="@drawable/menu_icon_npv"
            android:showAsAction="always"
            android:title="NPV"/>
        <item
            android:id="@+id/calculateIRR"
            android:icon="@drawable/menu_icon_irr"
            android:showAsAction="always"
            android:title="IRR/YR"/>
        <item
            android:id="@+id/send"
            android:icon="@drawable/content_email"
            android:showAsAction="always"
            android:title="@string/share"/>
        <item
            android:id="@+id/graph"
            android:icon="@drawable/ic_menu_gallery"
            android:showAsAction="always"
            android:title="Graph"/>
        <item
            android:id="@+id/deleteReorder"
            android:icon="@drawable/ic_menu_clear_playlist"
            android:showAsAction="always"
            android:title="Delete/Reorder Cashflows"/>
        </group>

</menu>
4

1 回答 1

3

尝试摆脱<group>. 极有可能<group>导致溢出行为作用于整个组而不是单个项目。

于 2013-04-08T21:58:39.260 回答