小编bad*_*vok的帖子

Jetpack Compose Path 将在画布边界之外绘制

我有一个签名框,在你签名的那一刻,就可以在画布外面画画了。我需要路径保持在画布的范围内。我可以在捕获路径时手动执行此操作,但我认为可能有一种自动方法。

 Canvas(modifier = Modifier
        .fillMaxWidth()
        .height(100.dp)
        .border(1.dp, MaterialTheme.colors.primaryVariant, shape = RoundedCornerShape(4.dp))
        .pointerInput(Unit) {
            detectDragGestures(onDragStart = {
                touchMove(path, it.x, it.y, -1f, -1f, true)
            }) { change, _ ->
                change.consumeAllChanges()
                touchMove(
                    path,
                    change.position.x,
                    change.position.y,
                    change.previousPosition.x,
                    change.previousPosition.y,
                    false
                )
            }
        }) {
        canvasWidth = size.width
        canvasHeight = size.height
        drawPath(path, color = Color.Blue, style = Stroke(width = 4f))
    }
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack android-jetpack-compose

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