Jetpack Compose 中按钮的背景颜色

sho*_*ead 10 android android-button android-jetpack-compose android-compose-button

Button(backgroundColor = Color.Yellow) {
       Row {
            Image(asset = image)
            Spacer(4.dp)
            Text("Button")
           }
    }
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我不能在 Button 上使用背景颜色我在 Compose Layout codelabs 上遵循了 Image() 中的 backgroundColor 和资产问题。请帮我弄清楚如何使用Buton,我还是新手

Ely*_*lye 25

使用ButtonDefaults1.0.0-alpha09 到 alpha11 中可用的

Button(
   onClick = {},
   colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
) {
   /**/
}
Run Code Online (Sandbox Code Playgroud)

旧版本

backgroundColor用于Button在不再工作1.0.0-alpha7

改用下面的

Button(
   onClick = {},
   colors = ButtonConstants.defaultButtonColors(backgroundColor = Color.Yellow)
) {
   /**/
}
Run Code Online (Sandbox Code Playgroud)

  • 直觉告诉我 `Modifier.background(Color)` 应该在这里工作,但谷歌还有其他计划...... (5认同)

Har*_*r S 13

编写背景按钮颜色 创建变量 mainButtonColor 并定义背景颜色和内容颜色

implementation 'androidx.compose.material3:material3:1.0.0-alpha02'
Run Code Online (Sandbox Code Playgroud)
    val mainButtonColor = ButtonDefaults.buttonColors(
        containerColor = androidx.compose.ui.graphics.Color.Red,
        contentColor = MaterialTheme.colorScheme.surface
    )

    Row {
        Button(colors = mainButtonColor, onClick = {}, modifier = Modifier.padding(8.dp)) {
            Text(text = "Custom colors")
        }
    }
Run Code Online (Sandbox Code Playgroud)

更改按钮颜色


Gab*_*tti 9

有了1.0.x您可以使用ButtonDefaults.buttonColors

Button(
     onClick = {  },
     colors = ButtonDefaults.buttonColors(
          backgroundColor = Color.White,
          contentColor = Color.Red)
)
Run Code Online (Sandbox Code Playgroud)


Ous*_*oua 7

ButtonConstants.defaultButtonColor被弃用的1.0.0-alpha09使用:

 colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
Run Code Online (Sandbox Code Playgroud)

  • 这也适用于“1.0.0-alpha10”。 (2认同)

小智 5

ButtonDefaults.buttonColors函数返回一个ButtonColors对象,而不是布尔值。因此,您需要将返回的ButtonColors对象传递给 Button 可组合项的颜色参数。

ButtonDefaults.buttonColors以下是如何设置按钮背景颜色的示例:

    Button(
        onClick = { /* Do something */ },
        colors = ButtonDefaults.buttonColors(backgroundColor = Color(0xFFCA1212))
    ) {
        Text("Compose")
    }
Run Code Online (Sandbox Code Playgroud)

此代码将按钮的背景颜色设置为并显示按钮中的#CA1212文本。Compose请注意,您需要导入androidx.compose.material.Buttonandroidx.compose.material.ButtonDefaults使用此代码。