1.如何适配深夜模式?
1)分别在values和values-night文件下的themes.xml自定义一个主题。这个主题继承自系统的 Theme.MaterialComponents.Light。同样,Theme中用到的颜色,也得values和values-night中分别定义。系统会根据不同的模式,加载不同文件下的Theme和Color。
2)AndroidManifest.xml中使用上面的主题。
2.代码中进行模式的设置。
四种模式:
AppCompatDelegate.MODE_NIGHT_YES:设置夜间模式
AppCompatDelegate.MODE_NIGHT_NO:设置日间模式
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM:跟随系统设置决定是否设置夜间模式
AppCompatDelegate.MODE_NIGHT_AUTO:根据当前时间自动切换模式
//开启深夜模式
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
//开启普通模式
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
3.在AndroidQ版本后,如果应用没有适配深夜模式,那么系统会自动为应用自动适配深夜模式。
如果想要关闭这个功能,不跟随系统进行模式的选择。
需要在