Android Studioで、res
ディレクトリを右クリックして、New -> Android Resource Directory
を選択する。
Directory Nameにvalues-night
を入力して、OK
をクリックする。
values-night
ディレクトリが表示されない場合は、Project
ビューに切り替える。
values-night
ディレクトリを見つけたら、右クリックして、New -> Values Resource File
を選択する。
入力フィールドにcolors
を入力する。
作成されたvalues-night/colors.xml
にcolor
要素を追加する。nameにはactivity_backround
を指定する。値は#1f1f1f
。
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="activity_background">#1f1f1f</color> </resources>
もともと存在していたvalues/colors.xml
にはライトモードに対応するactivity_backround
カラーを追加する。
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="activity_background">#FFFFFF</color> ... </resources>
AndroidManifest.xml
を開いて、application
要素のandroid:theme
に設定されているテーマを確認する。
<application ... android:theme="@style/Theme.TrainingNoteApplication" >
該当のテーマが定義されているtheme.xml
を開いて、アプリケーション全体の背景色を変更するために次の要素を追加する。
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.TrainingNoteApplication" parent="android:Theme.Material.Light.NoActionBar"> <item name="android:windowBackground">@color/activity_background</item> </style> </resources>
これでシステムのダークモードの設定に合わせて、スプラッシュスクリーン表示時の背景色が自動的に変更される。
参考
Splash screens | Android Developers
スタイルとテーマ | Android デベロッパー | Android Developers
DarkTheme対応のリソース設計 - DMM inside
Androidでダークテーマを試す. ダークテーマの設定方法について紹介します。 | by Keisuke Kawajiri | URL Memo | Medium