内容
色を指定する際に現時点で採用されているColorSchemeの値(例えばsurface
)を使いたい。どうすればいいか。
対応
MaterialTheme.colorScheme
を使う。surface
にアクセスしたいならMaterialTheme.colorScheme.surface
でアクセスできる
AlertDialog( containerColor = MaterialTheme.colorScheme.surface )
MaterialTheme
にはcolorScheme
の他に MaterialTheme.typography
、MaterialTheme.shapes
もある。
どれもcurrent
を使って呼び分けてくれるのがポイント。
雑感
今回はAlertDialogの背景色がデフォルトだとelevation
に応じて少し変化するので
それを防ぎつつ直接色指定するんじゃなくて surface
を使いたかった。
MaterialTheme
オブジェクトは前に見たことがあったが使いたいときには忘れていたのでメモ。