Android深夜模式

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版本后,如果应用没有适配深夜模式,那么系统会自动为应用自动适配深夜模式。

  如果想要关闭这个功能,不跟随系统进行模式的选择。

需要在