资源细分
首先我们看一看一个界面需要控制哪些颜色:
而除了上述基本需要控制的窗口颜色外,布局中受影响的还会有一些文本和图像。一般的,白天/夜间模式涉及到的显示状态的切换最基本改变影响就是这些文本、icon图标、整体的背景颜色等。
首先我们在colors.xml中设置好这些颜色,代码如下:
白天模式:
<?xml version="1.0" encoding="utf-8"?>@android:color/black
@android:color/white
#FF9600
#FF9600
#FF4081
夜间模式:
<?xml version="1.0" encoding="utf-8"?>@android:color/white
@android:color/black
@android:color/black
@android:color/black
注意夜间模式的colors.xml文件必须创建在values-night文件夹下,否则控制器读不到!
然后修改styles.xml文件,让app调用我们设置的颜色:
然后我们规定图标的变化,这里我们规定白天显示一个心性图标