拆分操作栏 - 当我使用android:showAsAction="always"时,图标会重叠。

4

我的问题是特定的操作项图标和“溢出菜单”图标在分割动作栏中重叠,如下所示:

截图

我使用的菜单资源文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="a"/>
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="b"/>
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="c"/>
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="d"/>
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="e"/>
    <item
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="always"
        android:title="f"/>
    <item
        android:id="@+id/menu_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/menu_settings"/>
</menu>

请记住,第六个菜单项的android:showAsAction属性是"always"。 当我使用普通的操作栏时,一切正常。

那么,这种行为是Android框架的一个bug吗? 是否有解决方法?


您的图像URL已损坏,或者无法显示该图像。 - CommonsWare
@nagoya0,你有解决这个问题的办法吗? - Siddhesh
1个回答

4

那么,这种行为是Android框架的一个bug吗?

很可能是。您可以搜索Android问题跟踪器,看看是否有相关报告。如果没有,请在模拟器或Nexus设备上创建一个可重现的测试用例,并在该平台上发布新问题。如果您想起来,请将问题链接作为评论添加到此答案中。

有解决方法吗?

对于第六个及之后的操作栏项目,至少对于-normal-port配置,将always替换为ifRoom应该可以解决问题。


1
这绝对是 Android 的一个 bug。我发现使用“始终显示”标志的唯一完全安全的方法是在列表中的第一项(而 Android 指南规定您应该最多只使用“始终显示”标志来标记 2 个项目)。 - vaughandroid

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