Jetpack Compose 按鍵放大VIEW,並保存這個大小
时间: 2023-06-17 16:04:03 浏览: 41
在 Jetpack Compose 中,您可以使用 `remember` 和 `mutableStateOf` 函数来保存一个可变状态。要实现按下按钮后放大 View,您可以创建一个可变状态 `isButtonPressed`,然后将其设置为 true,然后将 `Modifier.scale` 应用于您的 View,以使其放大。最后,您可以将放大后的大小保存到另一个可变状态 `buttonSize` 中,以便在以后的代码中使用。
以下是一个示例代码,它可以实现按下按钮后放大 View,并将其大小保存到 `buttonSize` 中:
```kotlin
// 创建一个可变状态来保存按钮是否被按下
val isButtonPressed = remember { mutableStateOf(false) }
// 创建一个可变状态来保存按钮的大小
val buttonSize = remember { mutableStateOf(Size.Zero) }
// 创建一个按钮,当按钮被按下时,设置 isButtonPressed 为 true
// 并将 scale modifier 应用于按钮,以使其放大
Button(
onClick = { isButtonPressed.value = true },
modifier = Modifier
.size(100.dp)
.scale(if (isButtonPressed.value) 1.2f else 1f)
.onSizeChanged { buttonSize.value = it }
) {
Text(text = "Button")
}
// 在以后的代码中,您可以使用 buttonSize.value 来获取按钮的大小
// 例如,以下代码将打印按钮的宽度和高度
Log.d("ButtonSize", "Width: ${buttonSize.value.width}, Height: ${buttonSize.value.height}")
```