Jetpack Compose : remember, mutableStateOf


remember
メモリにローカル状態を格納
mutableStateOf()
mutableStateOf()に渡される値を更新するたびに、この状態のコンポーネントとサブ要素が再構築(再配置)されます.
利用する
本文を省略記号で隠して表示する切り替えボタンを作成します.
boolean値の可変状態を使用してSee More/See Less切り替えテキスト構成部品を作成します.

@Composable
fun ToggleText(string: String) {
    var seeMore by remember { mutableStateOf(true) }

    Text(
        text = string,
        style = MaterialTheme.typography.body2,
        maxLines = if (seeMore) 5 else Int.MAX_VALUE,
        overflow = TextOverflow.Ellipsis
    )
    val textButton = if (seeMore) {
        stringResource(id = R.string.see_more)
    } else {
        stringResource(id = R.string.see_less)
    }
    Text(
        text = textButton,
        style = MaterialTheme.typography.button,
        textAlign = TextAlign.Center,
        color = MaterialTheme.colors.primaryVariant,
        modifier = Modifier
            .heightIn(20.dp)
            .fillMaxWidth()
            .padding(top = 15.dp)
            .clickable {
                seeMore = !seeMore
            }
    )
}