我正在尝试在 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
如何剪辑或剪切可组合内容以使图像、按钮或可组合项具有自定义形状?这个问题不是关于使用Modifier.clip(),更像是使用替代方法来完成任务,这些方法允许产生不可能的结果,或者当很难创建像云或方圆这样的形状时。
这是分享您的知识、问答式问题,其灵感来自 M3 BottomAppBar 或 BottomNavigation 没有切口形状,无法找到问题,并且像这个问题一样绘制Squircle形状很困难。
我们非常欢迎更多更好的剪切或自定义形状和可组合项的方法。