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 クラスの作成中 (およびユーザーがアプリの設定でモード間をスワイプしたいとき) に適用されます。

電話モードに引き続き従う 1 つのドローアブルを除いて、すべて正常に動作します。アプリを初めて起動すると、drawable は light フォルダーに取り込まれますが、携帯でダークモードをオン -> オフ -> オンにしてからアプリを再起動すると、今度はdrawable が黒くなり、他のすべてがライトモードであっても。

リンクされているかどうかはわかりませんが、png、hdpi、mdpi、xhdpi、xxhdpi、およびxxxhdpi(ライトモードとダークモードの両方)にある唯一のドローアブルの1つです

ドローアブル ダーク モード

このドローアブルに SVG を使用できません。解決策が見つかりませんでした。

私のアプリのテーマは Theme.AppCompat.DayNight.DarkActionBar です

私のアプリがダークモードで電話がライトモードの場合、ドローアブルはライトになります。

4

0 に答える 0