我有应用程序,它在应用程序中设置模式暗模式:
AppCompatDelegate.setDefaultNightMode(isDarkModeOn() ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO);
它可以按预期在任何地方工作,但仅在三星 S20 / Android 11 上,它有时会为主要活动混合浅色/深色主题。
我找到了可以解释它的文章,但我不确定是谁(谷歌或三星)解决了问题以及如何解决的。
我有应用程序,它在应用程序中设置模式暗模式:
AppCompatDelegate.setDefaultNightMode(isDarkModeOn() ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO);
它可以按预期在任何地方工作,但仅在三星 S20 / Android 11 上,它有时会为主要活动混合浅色/深色主题。
我找到了可以解释它的文章,但我不确定是谁(谷歌或三星)解决了问题以及如何解决的。
我找到了解决这个问题的方法。
主要问题是drawables颜色已经在@color/somecolor上定义,这个颜色定义在:
drawable\somedrawable.xml
values\colors.xml
values-night\colors.xml
我不得不用两个drawable替换它(每个指向colors.xml中自己的颜色):
values\colors.xml
drawable\somedrawable.xml
drawable-night\somedrawable.xml
仍然不知道为什么这个问题只出现在搭载 Android 11 的三星 S20 上。