Androidダークモードへの対応方法

Android ダークモードに対応させるには、以下の手順に従います。

  1. AndroidManifest.xmlファイルでテーマスタイルをデイナイトテーマに設定します。例:
<application
...
android:theme="@style/AppTheme">
...
</application>

DayNightのテーマはシステムのライト/ダークモード設定に合わせて自動で切り替わります。

  1. 明るめのモードと暗めのモードにそれぞれ使用する、2つのテーマスタイルファイルを作成します。たとえば、res/values フォルダにスタイルファイル styles.xml を追加し、明るいモードに使用する AppTheme.Light テーマを定義します。
<style name="AppTheme" parent="Theme.AppCompat.Light">
...
</style>

res/values-night フォルダに styles.xml ファイルを作成し、ダークモード用の AppTheme.Dark テーマを定義します。

<style name="AppTheme" parent="Theme.AppCompat">
...
</style>

実際のニーズに応じて、さまざまなテーマスタイルを定義できます。

  1. ダーク テーマに対応した色のリソースをレイアウト ファイルで使用します。たとえば、XML レイアウト ファイルで次のように色のリソースを参照します。
<TextView
...
android:textColor="@color/text_color" />

res/values/colors.xmlにカラリソースを定義する:

<resources>
<color name="text_color">#000000</color>
</resources>

暗いテーマ用カラリソースは res/values-night/colors.xml で定義してください。

<resources>
<color name="text_color">#FFFFFF</color>
</resources>
  1. コードでシステムのダークモード設定を調べ、それに応じて処理を実行できます。たとえば、ダークモードかどうかを次のように判定できます。
int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
if (nightModeFlags == Configuration.UI_MODE_NIGHT_YES) {
// 暗色模式
} else {
// 亮色模式
}

判定結果に基づき、該当するUI調整やその他のロジック処理を実行する。

上記の手順で、Android のダークモードに対応できます。ただし、一部の Android バージョンではダークモードの対応が完全でない場合があるため、実装の際にはターゲットデバイスのシステムバージョンに応じて対応する必要があります。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds