[英]How to make a surface background half transparent in jetpack compose, but not the content?
[英]How to make Surface background transparent (Jetpack Compose)
我有這樣的實現
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
)
}
我得到的結果是
就像整個背景是黑色的,然而,表面背景是白色的......
我只需要一個邊界,表面的背景應該是透明的(在這種情況下,黑色,因為整個背景都是黑色的)
我究竟做錯了什么?
Surface
有一個新的color
參數,它指示顏色而不是修改器。
您需要使用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
)
}
Surface
的背景顏色基於color
屬性。
默認情況下是:
MaterialTheme.colors.surface
(M2)MaterialTheme.colorScheme.surface
(M3)。利用:
Surface(
color = Color.Transparent,
//..
) {
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.