使用Compat Lib为ICS Phone丢失溢出ActionBar条目

时间:2012-02-06 16:36:22

标签: android android-fragments android-4.0-ice-cream-sandwich

使用compat lib r6。在Galaxy Nexus(ICS)上进行测试。

在清单中有android:minSdkVersion="13" android:targetSdkVersion="14"

菜单项定义为:

<item android:id="@+id/menu_search"
    android:showAsAction="ifRoom"
    android:actionViewClass="android.widget.SearchView" />
<item android:id="@+id/menu_refresh"
    android:title="@string/refresh_menu"
    android:icon="@drawable/ic_menu_refresh"
    android:showAsAction="ifRoom"/>

在纵向中,操作栏具有搜索控件但没有溢出操作栏菜单项。

在横向操作栏中,操作栏同时包含搜索控件和溢出操作栏菜单项(我没有获得令人失望的图标,因为它有足够的空间)。

在Honeycomb / ICS平板电脑上,一切正常,获得我的搜索控件和图标条目。

我做错了什么或看起来像compat lib中的错误?提前致谢。彼得。

编辑1 - 更多信息和潜在解决方案 我忘记添加的内容是onCreateOptionsMenu我对搜索控件进行去图标化。如果我没有取消图标化,我会得到“刷新”菜单。所以这现在有点意义,虽然我仍然希望看到溢出动作条目,因为我无法从UI中折叠搜索控件(因为没有关闭按钮)。

编辑2 好的,如果我强制刷新项始终位于操作栏上并重新排序,我可以正常工作:

<item android:id="@+id/menu_search"
    android:showAsAction="always"
    android:orderInCategory="1"
    android:actionViewClass="android.widget.SearchView" />
<item android:id="@+id/menu_refresh"
    android:title="@string/refresh_menu"
    android:icon="@drawable/ic_menu_refresh"
    android:orderInCategory="0"
    android:showAsAction="always"/>

1 个答案:

答案 0 :(得分:0)

在溢出菜单中只有文字,所以你必须添加适当的标志:

android:showAsAction="ifRoom|withText"