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