主要活动的状态栏颜色更改,但其他活动状态栏颜色保持不变

时间:2018-07-02 19:03:26

标签: android android-actionbar

如何将所有活动的状态栏颜色更改为黑色,因为此代码仅将主要活动的状态栏颜色更改为黑色,而其他活动中的状态栏颜色保持灰色。

<style name="CustomToolbarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="overlapAnchor">false</item>
    <item name="android:dropDownVerticalOffset">-4dp</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">#000000</item>
    <item name="android:textColorSecondary">@color/white</item>
</style>

2 个答案:

答案 0 :(得分:0)

您还必须在清单中为其他活动定义此主题

<activity
android:name=".YourActivityName"
android:theme="@style/CustomToolbarStyle"/>

您可以为想要黑色状态栏颜色的所有活动设置此主题 在您的 colors.XML

中定义了负责状态颜色的颜色colorPrimaryDark

答案 1 :(得分:0)

默认情况下,在清单标签中设置的主题用于设置声明的活动的主题,而该活动没有任何主题。

您应该在清单的应用程序的主题属性中应用您提到的主题。

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/CustomToolbarStyle">
.....
</application>

此主题将被您在清单中 Activity 标签的主题属性中设置的主题或从Activity的布局中设置的主题(又由主题属性)覆盖。