标签: appcompatdelegate

Android AppCompatDelegate.setDefaultNightMode 不会在 android 9 中重新创建父活动

您好,我正在使用此 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);

        }
            }
        });
Run Code Online (Sandbox Code Playgroud)

我在 android 7 和 6 上对其进行了测试,它工作正常,即在活动 B 中更改模式并按回活动 A 重新创建新主题时。在 android 9 上尝试时,它仅更改活动 B 而不会影响其父活动 A。

android android-appcompat android-night-mode appcompatdelegate

3
推荐指数
1
解决办法
1941
查看次数