2

我已经使用以下方法实现了暗模式:

when (themePref) {
     ThemeUi.LIGHT -> {
         AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO)
      }
      ThemeUi.DARK -> {
          AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES)
      }
      ThemeUi.AUTO_BEFORE_DARK, ThemeUi.AUTO_BEFORE_LIGHT ->
          AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
      }

它在 Application 类的创建过程中应用(以及当用户想要在应用程序设置中的模式之间滑动时)。

一切正常,除了一个继续遵循电话模式的可绘制对象。第一次启动应用程序时,drawable在light文件夹中,但是如果我在手机上将暗模式打开->关闭->打开,然后再次启动应用程序,这次drawable将是黑色的,即使其他一切都处于灯光模式。

我不知道它是否已链接,但它是唯一一个在 png、hdpi、mdpi、xhdpi、xxhdpi 和 xxxhdpi 中的可绘制对象(适用于明暗模式)

可绘制的暗模式

我不能将 SVG 用于这个可绘制对象,我没有找到解决方案。

我的应用主题是 Theme.AppCompat.DayNight.DarkActionBar

请注意,它也不能以其他方式工作,如果我的应用程序处于暗模式并且手机处于亮模式,则可绘制对象将是亮的。

4

0 回答 0