我正在使用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工作?
答案 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>