如何在Jetpack Compose Canvas中使用drawRoundRect仅圆角下部2个角?

8
正如标题所说,我只是想弄清楚如何将圆角矩形的底部2个角四舍五入。
drawScope.drawRoundRect(
                topLeft = Offset(0f,0f),
                size = Size(100f,100f),
                cornerRadius = CornerRadius(x = 10f, y = 10f),
                color = boxPaint.color
            )

这是我的当前代码,它可以将所有的角落都圆滑。

1个回答

18

使用 drawRoundRect 方法时,你只能设置左侧或右侧的圆角半径。

当你发现 Canvas API 缺少某些功能时,你可以使用 Path 绘制几乎任何形状——它拥有更加灵活的 API。

val cornerRadius = CornerRadius(10f, 10f)
val path = Path().apply {
    addRoundRect(
        RoundRect(
            rect = Rect(
                offset = Offset(0f, 0f),
                size = Size(100f, 100f),
            ),
            bottomLeft = cornerRadius,
            bottomRight = cornerRadius,
        )
    )
}
drawPath(path, color = Color.Red)

太棒了!他们几乎想到了一切。 - ucMedia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接