如何只为一项活动更改ColorPrimaryDark?

Nor*_*uth 3 android kotlin

我想仅为一项活动更改ColorPrimaryDark的颜色.我怎样才能做到这一点?

我想去styles.xml并改变这个:

<item name="colorPrimaryDark">@color/blue</item>
Run Code Online (Sandbox Code Playgroud)

但问题是如果我这样做,我改变了所有活动的颜色,我只需要改变一个活动的颜色.

谢谢您的帮助!

具体来说,这个颜色是应用程序顶部的栏的颜色我的意思ActionBar.我用Kotlin来做这个.

Bry*_*yan 7

专门为此创建一个主题Activity.

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">@color/gray</item>
    <!-- Your application theme -->
</style>

<style name="BlueActivityTheme" parent="AppTheme">
    <item name="colorPrimaryDark">@color/blue</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后在您的清单中,将主题仅应用于Activity:

<activity android:name="com.example.app.BlueActivity"
    android:theme="@style/BlueActivityTheme"/>
Run Code Online (Sandbox Code Playgroud)