Android / Kotlin / Programming

Jetpack Compose 初期設定の色一覧 (Default Color Cheat Sheet)

*English follows after Japanese

Material 3のコンポーネントを使用し、Jetpack ComposeでUI作成をする中で、デフォルトの背景色や文字色などをいちいち探すのがめんどくさかったのでまとめを作りました
見出しはA-z順、パラメータ名は実コードの順です

While creating UI with Material 3, it kills time to get which color is used as default like background color and text color.
This is a list of the default color of the components. The headlines are ordered by A-z and parameters are ordered by the order on codes.

色の設定方法 How To Change Colors

ColorSchemeを使用し色を設定するには、Color.ktで宣言している各色の値を書き換える必要があります
例えばライトモードのPrimaryを黒色に変更したい場合は下記の通りになります
1. Theme.ktでlightColorScheme()のprimaryパラメーターに設定されている変数名を探す
2. Color.ktでその変数に代入している値を黒色(Color.Black)に書き換える
Theme.ktでどのパラメーターを書き換える必要があるかは、下記の各テーブルにある「初期カラースキーム名」を参照してください

You have to change color values in Color.kt to change colors by ColorScheme. For example, if you want to set black to Primary in light mode, the way is like this.
1. Look for a variable name set to primary of lightColorScheme() function’s parameter in Theme.kt
2. Change the color to black(Color.Black) set to the variable in Color.kt
You can find out which parameters you have to change in Theme.kt by looking at the “Default Color Scheme Name” column on each tables.

// Theme.kt
private val LightColorScheme = lightColorScheme(
    primary = LightColorPrimary
)

// Color.kt
val LightColorPrimary = Color.Black

BasicTextField

OutlinedTextField

OutlinedTextFieldDefaults.DecorationBox

TextField

TextFieldDefaults.DecorationBox

TextFieldDefaults.OutlinedTextFieldDecorationBox

TextFieldDefaults.TextFieldDecorationBox

変更対象
(Meaning of a parameter in JP)
パラメーター名
Parameter name
初期カラースキーム名
Default Color Scheme Name
フォーカス時のテキスト色focusedTextColorOnSurface
未フォーカス時のテキスト色unfocusedTextColorOnSurface
非活性時のテキスト色disabledTextColorOnSurface (alpha = 0.38f)
エラー時のテキスト色errorTextColorOnSurface
フォーカス時のコンテナ色focusedContainerColorSurfaceVariant
未フォーカス時のコンテナ色unfocusedContainerColorSurfaceVariant
非活性時のコンテナ色disabledContainerColorSurfaceVariant
エラー時のコンテナ色errorContainerColorSurfaceVariant
カーソル色cursorColorPrimary
エラー時のカーソル色errorCursorColorError
テキスト選択時の色textSelectionColors– *1
フォーカス時の下線色focusedIndicatorColorPrimary
未フォーカス時の下線色unfocusedIndicatorColorOnSurfaceVariant
非活性時の下線色disabledIndicatorColorOnSurface (alpha = 0.38f)
エラー時の下線色errorIndicatorColorError
フォーカス時の先頭のアイコン色focusedLeadingIconColorOnSurfaceVariant
未フォーカス時の先頭のアイコン色unfocusedLeadingIconColorOnSurfaceVariant
非活性時の先頭のアイコン色disabledLeadingIconColorOnSurface (alpha = 0.38f)
エラー時の先頭のアイコン色errorLeadingIconColorOnSurfaceVariant
フォーカス時の後尾のアイコン色focusedTrailingIconColorOnSurfaceVariant
未フォーカス時の後尾のアイコン色unfocusedTrailingIconColorOnSurfaceVariant
非活性時の後尾のアイコン色disabledTrailingIconColorOnSurface (alpha = 0.38f)
エラー時の後尾のアイコン色errorTrailingIconColorError
フォーカス時のラベル色focusedLabelColorPrimary
未フォーカス時のラベル色unfocusedLabelColorOnSurfaceVariant
非活性時のラベル色disabledLabelColorOnSurface (alpha = 0.38f)
エラー時のラベル色errorLabelColorError
フォーカス時のプレースホルダー色focusedPlaceholderColorOnSurfaceVariant
未フォーカス時のプレースホルダー色unfocusedPlaceholderColorOnSurfaceVariant
非活性時のプレースホルダー色disabledPlaceholderColorOnSurface (alpha = 0.38f)
エラー時のプレースホルダー色errorPlaceholderColorOnSurfaceVariant
フォーカス時のサポートテキスト色focusedSupportingTextColorOnSurfaceVariant
未フォーカス時のサポートテキスト色unfocusedSupportingTextColorOnSurfaceVariant
非活性時のサポートテキスト色disabledSupportingTextColorOnSurface (alpha = 0.38f)
エラー時のサポートテキスト色errorSupportingTextColorError
フォーカス時のプレフィックス色focusedPrefixColorOnSurfaceVariant
未フォーカス時のプレフィックス色unfocusedPrefixColorOnSurfaceVariant
非活性時のプレフィックス色disabledPrefixColorOnSurfaceVariant (alpha = 0.38f)
エラー時のプレフィックス色errorPrefixColorOnSurfaceVariant
フォーカス時のサフィックス色focusedSuffixColorOnSurfaceVariant
未フォーカス時のサフィックス色unfocusedSuffixColorOnSurfaceVariant
非活性時のサフィックス色disabledSuffixColorOnSurfaceVariant (alpha = 0.38f)
エラー時のサフィックス色errorSuffixColorOnSurfaceVariant

*1 テキスト選択時の色 textSelectionColors

textSelectionColorsの指定方法は以下のように、CompositionLocalProviderを通して値を渡す必要があります

The way to set colors to textSelectionColors is to provide it via CompositionLocalProvider like this.

val textSelectionColors = TextSelectionColors(
    handleColor = Color.Green,
    backgroundColor = Color.Green.copy(alpha = 0.4f)
)

CompositionLocalProvider(LocalTextSelectionColors provides textSelectionColors) {
    TextField(
        value = text,
        onValueChange = { text = it }
    )
}

Button

変更対象
(Meaning of a parameter in JP)
パラメーター名
Parameter name
初期カラースキーム名
Default Color Scheme Name
コンテナ色containerColorPrimary
コンテンツ色 *1contentColor *1OnPrimary
非活性時のコンテナ色disabledContainerColor *1OnSurface (alpha = 0.12f)
非活性時のコンテンツ色 *1disabledContentColorOnSurface (alpha = 0.38f)

*1 コンテンツ色 ContentColor

コンテンツ色とはボタンの中に設置している文字などのアイテムとリップルエフェクトを指します
下記gifの上のボタンはcontainerColor = LightGray, contentColor = Redを、下のボタンはcontainerColor = LightGray, contentColor = Blueを指定した場合のボタンの挙動です
非活性時にはタップできないためリップルエフェクトはありません

ContentColor means items on the button like Text and its ripple effect.
In the gif, the button on the top has containerColor = LightGray, contentColor = Red and the another one on the bottom has containerColor = LightGray, contentColor = Blue.
When it’s disabled the ripple effect doesn’t work.

RadioButton

変更対象
(Meaning of a parameter in JP)
パラメーター名
Parameter name
初期カラースキーム名
Default Color Scheme Name
選択時の色selectedColorPrimary
未選択時の色unselectedColorOnSurfaceVariant
非活性時の選択時の色disabledSelectedColorOnSurface (alpha = 0.38f)
非活性時の未選択時の色disabledUnselectedColorOnSurface (alpha = 0.38f)

随時更新予定
リクエストなどあればお気軽にコメントまでお願いいたします!

This will be updated regularly
If you have the components color you wanna know, feel free to leave comments!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です