5

我正在使用 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"它不会像在新平台中那样显示在溢出中。它隐藏在底部,当您按下旧菜单按钮时会显示出来。

这是 appcompat 支持库的预期行为吗?还是我错过了让溢出在旧平台上工作的任何东西?

4

2 回答 2

2

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

是的


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

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

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

于 2014-04-25T20:48:53.543 回答
0

据我研究,溢出不会在旧版本中显示,但您可以在清单(在活动级别内)中使用以下内容(对于 ICS 之前):

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

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

<application android:uiOptions="splitActionBarWhenNarrow">
</application>
于 2013-12-01T12:05:19.497 回答