使用昼夜主题时如何更改布局的背景/文本颜色

时间:2019-03-23 18:38:54

标签: java android xml android-layout layout

我正在使用Theme.AppCompat.DayNight,我想自定义某种布局背景和文本颜色,以根据白天还是黑夜模式进行更改。

这是我到目前为止尝试过的:

<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primaryDarkColorAmber</item>
    <item name="colorPrimaryDark">@color/primaryDarkColorAmber</item>
    <item name="colorControlActivated">@color/primaryDarkColorAmber</item>
</style>

<style name="PopUpTheme" parent="AppTheme">
    <!-- layout custom theme there's no darkBackground value...!! -->
    <item name="android:background">@color/popup_background</item>
</style>

2 个答案:

答案 0 :(得分:1)

首先在此目录中创建res / values-night,然后添加与res / values文件相同的文件,您可以将其复制并替换为颜色,此后,当您更改白天或晚上的主题时,可以根据您的样式获得颜色

答案 1 :(得分:1)

如果您使用的是Android的Color theming System,则可以使用:

<View
...
android:background="?android:attr/colorBackground"
.../>

类似地,对于文本,您可以使用?android:attr/textColorPrimary和图标?attr/colorControlNormal。这样,您无需创建单独的值文件。

您可以找到更多详细信息here