相关疑难解决方法(0)

如何在 Jetpack Compose 中获取 onTouchEvent?

在正常情况下,我们可以有 onTouchEvent

    override fun onTouchEvent(event: MotionEvent?): Boolean {
        when (event?.action) {
            MotionEvent.ACTION_DOWN -> {}
            MotionEvent.ACTION_MOVE -> {}
            MotionEvent.ACTION_UP -> {}
            else -> return false
        }
        invalidate()
        return true
    }
Run Code Online (Sandbox Code Playgroud)

在 Jetpack Compose 中,我只能发现我们有tapGestureFilterin 修饰符,它只执行来自ACTION_UPonly的动作。

Modifier
    .tapGestureFilter { Log.d("Track", "Tap ${it.x} | ${it.y}") }
    .doubleTapGestureFilter { Log.d("Track", "DoubleTap ${it.x} | ${it.y}") }
Run Code Online (Sandbox Code Playgroud)

onTouchEventJetpack Compose是否有等价物?

android android-jetpack-compose

7
推荐指数
2
解决办法
1368
查看次数

Jetpack Compose Android 按钮检测长按

如何检测长按

    Button(
    onClick = onClick,
    interactionSource = interactionSource,
    modifier = Modifier
        .combinedClickable(
            onClick = onClick,
            onLongClick = onLongClick
        )
)
Run Code Online (Sandbox Code Playgroud)

这是行不通的。onClick 是必需的,我猜它会消耗combinedClickable。我还需要一个交互源。我宁愿避免创建自定义按钮。

android button kotlin android-jetpack android-jetpack-compose

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