如何在 Android Compose 中设置 Material3 卡的背景颜色?

Har*_*r S 26 android android-jetpack-compose android-jetpack-compose-material3

我尝试使用backgroundColor参数在 Android Jetpack Compose 中设置 Material3 卡的背景颜色。

实现 'androidx.compose.material3:material3:1.0.0-alpha14'

// * Card with background color argument
            Card(
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(16.dp),
                //set background color of the card
                backgroundColor = Color.Gray,
                content = {
                    Text("Card with background color argument", modifier = Modifier.padding(16.dp),style = MaterialTheme.typography.labelLarge)
                }
            )
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:找不到具有此名称的参数:backgroundColor 在此输入图像描述

Cod*_*oet 67

你可以这样做:

Card(
    onClick = {},
    colors = CardDefaults.cardColors(
        containerColor = MaterialTheme.colorScheme.surfaceVariant,
    ),
    modifier = Modifier.fillMaxWidth()
)
Run Code Online (Sandbox Code Playgroud)

您不需要通过修饰符,只需使用containerColor

  • 你比我先一步:)当某些默认可组合项具有“颜色”参数时,答案是“XDefaults.xColors(...某些颜色)”来设置颜色。 (2认同)

Ant*_*les 7

其他方法来做到这一点:

Card(
    modifier = Modifier.fillMaxWidth().padding(16.dp),
    
    colors = CardDefaults.cardColors(
        containerColor = Color.DarkGray, //Card background color
        contentColor = Color.White  //Card content color,e.g.text
    )
  )
Run Code Online (Sandbox Code Playgroud)