- 在MainActivity中实现接口AppCompatDelegate.OnApplyDayNightListener
public class MainActivity extends AppCompatActivity implements AppCompatDelegate.OnApplyDayNightListener {
- 重写onApplyDayNight方法,在其中完成主题变化的操作
@Override
public void onApplyDayNight() {
int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
switch (currentNightMode) {
case Configuration.UI_MODE_NIGHT_NO:
// 设置为浅色模式
break;
case Configuration.UI_MODE_NIGHT_YES:
// 设置为深色模式
break;
}
}
- 在onCreate方法中添加监听器
getDelegate().setApplyDayNightListener(this);
- 调用applyDayNight方法,手动触发主题的切换
getDelegate().applyDayNight();