我正在使用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>
首先创建res/values-night这个目录,然后添加与res/value文件相同的文件,您可以复制并替换为颜色,之后当您更改白天或晚上主题时,您可以根据自己的风格获得颜色
如果您遵循Android的颜色主题系统,那么您可以使用:
<View
...
android:background="?android:attr/colorBackground"
.../>
同样,对于文本,您可以使用?android:attr/textColorPrimary
,对于图标?attr/colorControlNormal
。这样,您就不需要创建单独的值文件。
您可以在此处找到更多详细信息。