您好,我正在使用此 AppCompatDelegate 在日/夜主题之间进行更改我有 2 个活动 A&B 此代码从活动 B 调用,它应该使用所选样式重新创建活动 B & A 这是我的代码
applyNight.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!isNight) { SharedPrefrencesMethods.savePreferences(this, getString(R.string.night_key), true); AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); } else { SharedPrefrencesMethods.savePreferences(this, getString(R.string.night_key), false); AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); } } });
我在 android 7 和 6 上对其进行了测试,它工作正常,即在活动 B 中更改模式并按下活动 A 重新创建新主题时。在 android 9 上尝试它时,它只改变了活动 B 而不会影响它的父活动 A。