我想为深色主题和浅色主题设置不同的颜色。除状态栏颜色外,一切正常。
在深色主题中 -> 我的状态栏颜色未更新。
我的主题:
private val DarkColorPalette = darkColors(
primary = Color.Black,
primaryVariant = Color.Black,
secondary = Color.LightGray
)
private val LightColorPalette = lightColors(
primary = Purple500,
primaryVariant = Purple700,
secondary = Teal200
)
我在黑暗主题中的输出:
编辑:
我已经看到了这个答案 - how to change statusbar color in jetpack compose?
他们建议使用图书馆。我不想使用任何 3rd 方库。
编辑2:
我的清单文件
<activity
android:name=".ActivityTextStyles"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.ComposeText.NoActionBar" />
这是我面对同样的问题并决定更深入地寻找原因时发现的。
事实证明,我的构图项目从 themes.xml 文件中读取状态栏颜色的值 res/values 。该值是使用 colorPrimaryVariant 设置的。将该值更新为新颜色改变了状态栏的颜色。
总体而言,我建议将主题的值和colors.xml的值更新为您希望用于项目的自定义颜色。