phicdy devlog

Androidアプリ開発やその他技術系の記事をたまに書きます

AndroidとかiOSとかモバイル多め。その他技術的なことも書いていきます。

Coflicting 'on' color for a given backgroundエラーの修正

f:id:phicdy:20211229143730p:plain

Jetpack Composeのテーマ設定をしていたら上記のようなエラーが出ていた。 エラー文を読むとonの色設定がコンフリクトしているらしい。例えばonPrimaryはprimary時の背景なので同じ色ならエラーなのかなと思ったが別の色を指定しているしよくわからなかった。

private val LightThemeColors = lightColors(
    primary = White,
    primaryVariant = White,
    secondary = Green700,
    background = White,
    surface = White,
    onPrimary = Black,
    onSecondary = White,
)

環境

修正

private val LightThemeColors = lightColors(
    primary = White,
    primaryVariant = White,
    secondary = Green700,
    background = White,
    surface = White,
    onPrimary = Black,
    onSecondary = White,
    onSurface = Black,
    onBackground = Black
)

onSurfaceとonBackgroundをデフォルト設定のまま持ってきたらエラーが消えた。どうやらデフォルト設定のままにしているとうまく判定ができない模様。