相关疑难解决方法(0)

如何在 Jetpack Compose Canvas 中绘制圆角多边形?

我正在尝试在 Jetpack Compose 中使用创建圆角三角形Canvas

我尝试用这段代码来绘制三角形:

@Composable
fun RoundedTriangle() {
    Canvas(modifier = Modifier.size(500.dp)) {
        val trianglePath = Path().apply {
            val height = size.height
            val width = size.width
            moveTo(width / 2.0f, 0f)
            lineTo(width, height)
            lineTo(0f, height)
        }
            drawPath(trianglePath, color = Color.Blue)
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何圆化三角形的角。我也尝试过使用arcTo,但无法得到合适的结果。

我怎样才能画出像下图这样的东西?

在此输入图像描述

android canvas rounded-corners kotlin android-jetpack-compose

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

如何剪辑或剪切可组合项?

在此输入图像描述

如何剪辑或剪切可组合内容以使图像、按钮或可组合项具有自定义形状?这个问题不是关于使用Modifier.clip(),更像是使用替代方法来完成任务,这些方法允许产生不可能的结果,或者当很难创建像云或方圆这样的形状时。

这是分享您的知识、问答式问题,其灵感来自 M3 BottomAppBar 或 BottomNavigation 没有切口形状,无法找到问题,并且像这个问题一样绘制Squircle形状很困难。

我们非常欢迎更多更好的剪切或自定义形状和可组合项的方法。

android android-jetpack-compose

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