内容
Textコンポーサブル使用時、lineHeight
をstyle = TextStyle(lineHeight = 21.sp)
で記述したときと Text(lineHeight = 21.sp)
としたときとで異なる結果になった。
検証コード
@Preview @Composable private fun TextLineHeight<figure class="figure-image figure-image-fotolife" title="lineHeight検証">[f:id:takeR:20240630180127p:plain:alt=]<figcaption>lineHeight検証</figcaption></figure>Preview() { Row(modifier = Modifier.background(color = Color.White)) { Text( text = "abc", modifier = Modifier .background(color = Color.LightGray) .padding(horizontal = 4.dp), style = TextStyle(lineHeight = 21.sp), ) Text( text = "abc", modifier = Modifier .background(color = Color.Cyan) .padding(horizontal = 4.dp), lineHeight = 21.sp ) } }
プレビューするとこんな感じに。なんでやねん。
発生条件と確認環境は以下の通り
- Robotoフォントの場合に発生(Notoでは発生しない)
- lineHeightとfontSizeの差が大きい場合に発生
- Android Studio Koala | 2024.1.1
- composeBomVersion = "2024.06.00"
NotoフォントとRobotoフォントでlineHeight未指定時の高さが違う(これも問題)のを調べていたらこんなことに...。