M3 (androidx.compose.material3) のTypographyでTextStyleパラメータを指定する方法
M3 (androidx.compose.material3) のTypographyでTextStyleパラメータを指定する方法をご紹介します。
目次
条件
- Android
- Jetpack Compose Material Design 3
TypographyのTextStyleパラメータ
M3 (androidx.compose.material3)では、Typographyで指定するパラメータ(TextStyle)がM2と比較して大きく変わっています。
M2とM3の相違例
M2では以下のように指定していました。
val Typography = Typography(
h1 = TextStyle(
fontFamily = AbrilFatface,
fontWeight = FontWeight.Normal,
fontSize = 30.sp
),
h2 = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Bold,
fontSize = 20.sp
),
h3 = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Bold,
fontSize = 14.sp
),
body1 = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Normal,
fontSize = 14.sp
)
)
一方、M3では以下のように指定します。
val Typography = Typography(
displayLarge = TextStyle(
fontFamily = AbrilFatface,
fontWeight = FontWeight.Normal,
fontSize = 30.sp
),
displayMedium = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Bold,
fontSize = 20.sp
),
displaySmall = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Bold,
fontSize = 14.sp
),
bodyLarge = TextStyle(
fontFamily = Montserrat,
fontWeight = FontWeight.Normal,
fontSize = 14.sp
)
)
これまで、見出しと言えば「h1」や「h2」を使用していたことを考えると、このパラメータ名変更は結構なインパクトです。
しかし、新しいパラメータ名をみると「種別 + 大きさ」という感じのネーミングなので、すぐに慣れることが出来ると思います。
対応表
M2とM3の対応表は以下の通りです。
| M2 | M3 |
|---|---|
| h1 | displayLarge |
| h2 | displayMedium |
| h3 | displaySmall |
| 該当なし | headlineLarge |
| h4 | headlineMedium |
| h5 | headlineSmall |
| h6 | titleLarge |
| subtitle1 | titleMedium |
| subtitle2 | titleSmall |
| body1 | bodyLarge |
| body2 | bodyMedium |
| caption | bodySmall |
| button | labelLarge |
| 該当なし | labelMedium |
| overline | labelSmall |
参考
developers.android.com:Compose でマテリアル 2 からマテリアル 3 に移行する
https://developer.android.com/jetpack/compose/themes/material2-material3?hl=ja#m2_4


