ダイナミック カラー

Material You デザインは、Android 12 リリースで導入され Android 13 で拡張されました。

このページでは、さらに拡充されたダイナミック カラーのサポートをスムーズに統合できるよう、Material You ロジックの更新情報について説明します。

ダイナミック カラーの色調パレット

Android 12 以降では、以下のダイナミック カラーの色調パレットがサポートされています。

各色調パレットは輝度値の異なる 13 色(R.color に記述)で構成されていますが、色相値と彩度値は定義されておらず、Android システムによってランタイムに動的に生成されます。

ダイナミック カラーのテーマスタイル

Android 13 以降では、デベロッパーのニーズとコントラストの要望に対応するため、6 種類のテーマスタイルとダイナミック カラー アルゴリズムによるバリエーションがサポートされています。以下に、6 種類のテーマスタイルを示します。これらをもとに、アプリで使用する 65 色のダイナミック カラーが生成されます。

  • TONAL_SPOT は、system_accent1_0 カラーに類似する system_accent3_0 カラーを使用した中彩度パレットです(Android 12 リリースから引き継いだパレットに若干調整を加えています)。
  • VIBRANT は、色間の微妙な変化を自然に調和させた高彩度パレットです。
  • EXPRESSIVE は、予想外のユニークなアクセント カラーを組み合わせた高彩度パレットです。
  • SPRITZ は、色間の色合いがソフトな低彩度パレットです。
  • RAINBOW では、色調のアクセントとニュートラルなサーフェスの両方を使用して、より繊細なカラー エクスペリエンスを実現しています。
    • このテーマスタイルを、壁紙ベースの色抽出に使用することは推奨しません。より静的なカラーテーマを使用することをおすすめします。
  • FRUIT_SALAD は、ユーザーの表現の幅を広げるツートーン カラーを提供します。
    • このテーマスタイルを、壁紙ベースの色抽出に使用することは推奨しません。より静的なカラーテーマを使用することをおすすめします。

システムテーマは、Android 12 と同じ設定(Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES)で使用できます。Android 13 では、65 色パレットを生成するためのソースカラーを送信する JSON のキーが 1 つのみ必要になります。

{
    "android.theme.customization.system_palette":"746BC1"
}

デフォルトのテーマスタイルは TONAL_SPOT ですが、必要に応じて上の JSON にキーを追加し、他のテーマスタイルを指定できます。

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

ダイナミック カラーの統合

ダイナミック カラーの統合のガイドラインについては、Material You デザインの統合をご覧ください。

よくある質問(FAQ)

ダイナミック色調パレット API には何が含まれていますか?

  • 以下の 5 種類の色調パレットが含まれています。

  • 各色調パレットには 13 のカラー値が含まれており、それぞれの末尾が 0、10、50、100、200、300、400、500、600、700、800、900、1000 のインデックスになっています。

  • 各 API は、色調パレット名とインデックスを組み合わせたものになります。次に例を示します。 R.color#system_accent1_10

ダイナミック色調パレットの生成方法

ダイナミック色調パレットは、com.android.systemui.monet.ColorScheme#getSeedColors を使用して壁紙から抽出した複数の有効なソースカラーのうち、単色のソースカラーを使用して生成する必要があります。抽出された色がソースカラーの要件を満たしていない場合は、単色のソースカラーは値 0xFF1B6EF3 を使用する必要があります。