最近,我从v21.0.3升级为支持lib v22.1,该ActionMode以前可以在v21.0.3上完美运行。它在Lollipop上仍然可以正常使用,但在Pre-L设备上不能正常使用。

更新后,这是在Android Lollipop上的外观



这就是奇巧的样子



以下是我使用的主题

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="windowActionModeOverlay">true</item>
</style>


以及Activity XML中的工具栏

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>


附言v22.0.0上的相同问题

最佳答案

可能的解决方法是以您的样式手动设置操作模式背景。添加以下行可修复我的项目中的一个非常相似的问题:

    <item name="android:actionModeBackground">@color/dark_blue</item> <!-- 5.0 -->
    <item name="actionModeBackground">@color/dark_blue</item> <!-- 4.4 and before -->

08-18 04:09