如何使 Surface 背景透明 (Jetpack Compose)

Ale*_*nko 2 android android-jetpack android-jetpack-compose android-jetpack-compose-material3

我有这样的实现

Surface(
                    modifier = Modifier.background(Color.Transparent),
                    shape = RoundedCornerShape(corner = CornerSize(2.dp)),
                    border = BorderStroke(width = 1.dp, color = showpageColorAgvotBoarder)
                ) {
                    Text(
                        modifier = Modifier.padding(2.dp),
                        text = item,
                        style = ShowpageAgvotStyle
                    )
                }
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

在此输入图像描述

就像整个背景是黑色的一样,然而,表面背景是白色的......

我只需要一个边框,表面的背景应该是透明的(在这种情况下黑色,因为整个背景是黑色的)

我究竟做错了什么?

Sah*_*zar 9

您需要使用color = Color.Transparent参数而不是Modifier.background(Color.Transparent)

Surface(
    modifier = Modifier,
    shape = RoundedCornerShape(corner = CornerSize(2.dp)),
    border = BorderStroke(width = 1.dp, color = Color.Red),
    color = Color.Transparent // This is what you're missing
) {
   Text(
        modifier = Modifier.padding(2.dp),
        text = "item",
        color = Color.Gray
   )
}
Run Code Online (Sandbox Code Playgroud)