实现方式一 Google DayNight
- 依赖:项目中有 appcompat 相关依赖即可。
例如implementation 'androidx.appcompat:appcompat:1.0.2' - 修改主题
将主题修改为Theme.AppCompat.DayNight或者它的子主题。 - 增加
values-night文件加,存放对应夜间模式的color.xml文件。(颜色名称要一致) - 增加
drawable-night-hdpi或者是mipmap-night-hdpi文件夹,xhdpi,xxhdpi如果有都要建立。把对应页面模式的图标放进去。(图标名称要一致) - activity 要继承自 AppCompatActivity。
- 切换方式一(重建Activity生效)
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);切换夜间getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);切换白天
- 切换方式二(activity建立时生效)
-
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); recreate(); //切换白天 -
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); recreate(); //切换夜间
-