1.在styles.xml文件中新建一个主题 ,并设置到AndroidManifest.xml文件 需要的application theme中
<style name="Cus_Theme" parent="Theme.AppCompat.DayNight.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style>
<color name="font_color">#FFFFFF</color> <color name="bg_color">#000000</color>
2.在res目录下创建与values同级的文件夹 values-night 。在这两个目录下colors.xml文件中设置颜色相关属性.
比如 values下的colors.xml :
<color name="font_color">#000000</color> 文字黑色 <color name="bg_color">#FFFFFF</color> 背景白色
values-night 下colors.xml:
<color name="font_color">#FFFFFF</color> 文字白色 <color name="bg_color">#000000</color> 背景黑色
3.在布局文件中设置颜色属性
4.使用代码设置主题
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);