小编old*_*ldu的帖子

在 Jetpack Compose 中向自定义手势添加波纹效果

我尝试在 Jetpack Compose 中创建一个可点击的表面,当用户点击该表面时,高度会发生变化。以下代码已经可以运行:

var tapped by remember { mutableStateOf(false) }
val elevation by animateDpAsState(
    targetValue = if (tapped) 0.dp else 5.dp,
    animationSpec = tween(50)
)

Surface(
    shape = RoundedCornerShape(20.dp),
    modifier = Modifier
         .padding(16.dp)
         .requiredSize(150.dp)
         .pointerInput(Unit) {
              detectTapGestures(onPress = {
              tapped = true

              tryAwaitRelease()

              tapped = false
         })
    },
    elevation = elevation
) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

不过,我希望在点击过程中产生连锁反应。我怎样才能做到这一点?

默认按钮/表面onClick并不clickable合适,因为它只处理按下输入,但不处理点击。

android kotlin android-jetpack-compose

7
推荐指数
1
解决办法
2642
查看次数

标签 统计

android ×1

android-jetpack-compose ×1

kotlin ×1