Modifier.toggleable() を使います。
- var checked by remember { mutableStateOf(false) }
-
- Box(
- contentAlignment = Alignment.Center,
- modifier = Modifier
- .toggleable(
- value = checked,
- onValueChange = { checked = it }
- )
- .size(48.dp)
- ) {
- Icon(
- imageVector = if (checked) Icons.Default.Favorite else Icons.Default.FavoriteBorder,
- contentDescription = if (checked) "favorite on" else "favorite off",
- )
- }
var checked by remember { mutableStateOf(false) }
Box(
contentAlignment = Alignment.Center,
modifier = Modifier
.toggleable(
value = checked,
onValueChange = { checked = it }
)
.size(48.dp)
) {
Icon(
imageVector = if (checked) Icons.Default.Favorite else Icons.Default.FavoriteBorder,
contentDescription = if (checked) "favorite on" else "favorite off",
)
}
Box + Modifier.toggleable() 部分は IconToggleButton として用意されているので、それを使うこともできます。
- var checked by remember { mutableStateOf(false) }
-
- IconToggleButton(
- checked = checked,
- onCheckedChange = { checked = it },
- ) {
- Icon(
- imageVector = if (checked) Icons.Default.Favorite else Icons.Default.FavoriteBorder,
- contentDescription = if (checked) "favorite on" else "favorite off",
- )
- }
var checked by remember { mutableStateOf(false) }
IconToggleButton(
checked = checked,
onCheckedChange = { checked = it },
) {
Icon(
imageVector = if (checked) Icons.Default.Favorite else Icons.Default.FavoriteBorder,
contentDescription = if (checked) "favorite on" else "favorite off",
)
}
0 件のコメント:
コメントを投稿