android - 如何在jetcompose中制作自定义形状

标签 android kotlin android-jetpack-compose

我想在jetpack compose中制作如下图所示的形状

预期输出

preview

我尝试使用带有夹子和圆角形状的盒子,但未按预期输出工作。

 @Composable
    fun SemiOvalShape() {
        Box(
            modifier = Modifier
                .fillMaxSize()
                .background(Color.White)
        ) {
            Box(
                modifier = Modifier
                    .fillMaxHeight(.4f)
                    .fillMaxSize(1.0f)
                    .clip(RoundedCornerShape(bottomStart = 180.dp, bottomEnd = 180.dp))
                    .border(2.dp, Color.Red)
                    .background(color = Color.Blue)
            )
        }
    }

最佳答案

您可以使用Canvas来实现这些输出。您可以调整该值以进行更多更改。

预览

preview

代码

@Preview
@Composable
fun Stack03() {
    Canvas(modifier = Modifier.size(400.dp)) {
        drawCircle(
            color = Color(0xFFACBCCB),
            radius = 800f,
            center = Offset(size.width / 2.0f, size.height / 5.0f)
        )
        drawCircle(
            color = Color(0xFF0B305E),
            radius = 775f,
            center = Offset(size.width / 2.0f, size.height / 5.0f)
        )
    }
}

关于android - 如何在jetcompose中制作自定义形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77610956/

相关文章:

Android 如何重置 SCREEN_ALWAYS_ON?

android - react js createRef() 返回未定义

android - 从android中的string.xml文件中读取消息值

kotlin - 为什么 Kotlin 允许编写没有参数的 main 函数?

android - 如何设置Kotlin中的Toast的重力(属性样式)(出现错误)?

android - Jetpack Compose 关闭对话框时出错 : Anchor refers to a group that was removed

android - 不显示 CalendarView Jetpack Compose 按钮

Android Studio 将 Java 转换为 Kotlin 错误无法推断此参数的类型。请明确指定

android - 在 kotlin 文件中找不到可绘制对象

android - Kotlin 惰性属性和值重置 : a resettable lazy delegate