AppCompat 21中ActionBar和ActionMode的颜色问题

3

当在AppCompat 21中进入ActionMode时,我的ActionBar会变灰色 - 颜色没有被使用:

<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/secondary</item>
<item name="color">@color/secondary</item>

我认为我只是缺少设置颜色的正确名称 - 但据我所见,没有任何与操作相关的东西。

2个回答

9

ActionMode目前无法使用您在primaryColor中定义的颜色。要设置ActionMode的颜色,您只需要自己定义它,例如:

<item name="actionModeBackground">@color/primary</item>

或者更通用的方式是,如果您在一个应用程序中支持不同的颜色主题,则更好:
<item name="actionModeBackground">?attr/colorPrimary</item>

这对我帮助很大!谢谢 - nLL
@Qianqian,你知道如何更改ActionMode的状态栏颜色吗? - Charlesjean
@Charlesjean,你所说的ActionMode状态栏颜色是什么意思?状态栏始终存在,如果你使用的是Android 5,可以通过从活动代码调用setStatusBarColor方法来更改它。 - Qianqian

0

在API 21中,ActionBar已被弃用。您需要使用工具栏

如果您仍然想要获取styles.xml,则可以使用以下样本styles.xml并确保名称正确

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>

    <!-- Actionbar color -->
    <item name="colorPrimary">@color/accent_material_dark</item>
    <!--Status bar color-->
    <item name="colorPrimaryDark">@color/accent_material_light</item>
    <!--Window color-->
    <item name="android:windowBackground">@color/dim_foreground_material_dark</item>
</style>


3
如何为ActionMode设置颜色? - ligi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接