簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM