为什么 Jetpack Compose 卡半径角不均匀

Ely*_*lye 6 android-cardview android-jetpack-compose

我有一个lazyColumn包裹物品的

@Composable
fun MySimpleListItem(
    itemViewState: String,
    itemClickedCallback: (() -> Unit)? = null,
) {
    Card(
        shape = RoundedCornerShape(50.dp),
        backgroundColor = Color(0xFFFF0000),
    ) {
        Text(
            text = itemViewState,
            modifier = Modifier.fillMaxWidth().padding(16.dp),
            style = TextStyle(fontSize = 32.sp),
            textAlign = TextAlign.Center
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来顶部和底部的角的圆度不同。我做错了什么吗?

在此输入图像描述

jns*_*jns 21

您的卡片高度太小,无法正确显示形状。它至少应该是你的半径的两倍

Card(
    modifier = Modifier.preferredHeight(100.dp),
    shape = RoundedCornerShape(50.dp),
    backgroundColor = Color(0xFFFF0000),
)
Run Code Online (Sandbox Code Playgroud)

或以百分比设置形状的半径:

Card(
    shape = RoundedCornerShape(50),
    backgroundColor = Color(0xFFFF0000),
    )
Run Code Online (Sandbox Code Playgroud)