TextのonTextLayoutのラムダに入ってくる TextLayoutResult
の lineCount
を使用すると表示される文字列の行数を取得することが出来る
Text(
onTextLayout = { result ->
Timber.d("onTextLayout=${result.lineCount}")
}
)
なので、rememberの値と lineCount
の値を使えば改行されるような文字列が入ってきたら非表示にするとかが出来る
@Composable
fun Hoge(
text: String,
) {
var isMultiline by remember { mutableStateOf(false) }
// 改行されたら非表示にする
if (isMultiline.not()) {
Text(
text = text,
onTextLayout = { result ->
isMultiline = result.lineCount > 1
}
)
}
}