使用appcompat支持库,Overflow无法在API 7上运行?

时间:2013-09-27 22:29:44

标签: android-appcompat

我正在使用v7 appcompat支持库。动作项显示在actionBar中,在较新或较旧的设备上都可以正常工作。

但是,我没有在API 7上获得溢出。例如:

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

    <item
        android:id="@+id/menuAction"
        android:icon="@android:drawable/ic_menu_directions"
        android:title="@string/barButtonTitle"
        appcompat:showAsAction="always|withText"/>
    <item
        android:id="@+id/menuAction1"
        android:title="@android:string/untitled"
        appcompat:showAsAction="never"/>

</menu>

appcompat:showAsAction="always|withText"有效,它在ActionBar中显示为一个Action Item。但是,appcompat:showAsAction="never"不会像在新平台中那样在Overflown中显示。它隐藏在底部,当您按下旧菜单按钮时显示。

这是appcompat支持库的预期行为吗?或者我错过任何东西以使旧版平台上的Overflow工作?

2 个答案:

答案 0 :(得分:2)

  

这是appcompat支持库的预期行为吗?

是的,它是


仅当设备没有硬件菜单按钮时,才会显示溢出按钮(3个点)。

每个姜饼设备都必须有一个菜单按钮,因此溢出按钮不会在API级别7上显示

有关此主题的更多信息,以下博客文章可能很有趣: http://android-developers.blogspot.de/2012/01/say-goodbye-to-menu-button.html

答案 1 :(得分:0)

就我所研究的情况而言,溢出不会在旧版本中显示,但您可以在清单(活动级别内)中使用以下内容(对于预ICS):

<activity ...>
<meta-data android:name="android.support.UI_OPTIONS"
               android:value="splitActionBarWhenNarrow" />
</activity>

这将显示在显示屏底部的操作,您必须在要执行此操作的所有活动中添加此操作。对于ICS&gt;您可以在应用程序级别的清单中添加以下内容,这将在所有活动中生效。

<application android:uiOptions="splitActionBarWhenNarrow">
</application>