Button(backgroundColor = Color.Yellow) {
Row {
Image(asset = image)
Spacer(4.dp)
Text("Button")
}
}
我想不通为什么我不能在Button
上使用背景颜色。
我遵循了Compose布局codelabs的指导。
在backgroundColor
和Image()中存在问题。
Button(backgroundColor = Color.Yellow) {
Row {
Image(asset = image)
Spacer(4.dp)
Text("Button")
}
}
我想不通为什么我不能在Button
上使用背景颜色。
我遵循了Compose布局codelabs的指导。
在backgroundColor
和Image()中存在问题。
使用1.0.0-alpha09到alpha11版本可用的ButtonDefaults
Button(
onClick = {},
colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
) {
/**/
}
NEW VERSION
In 1.0.0-alpha7
, the backgroundColor
property no longer works for Button
. Use the following instead.
Button(
onClick = {},
colors = ButtonConstants.defaultButtonColors(backgroundColor = Color.Yellow)
) {
/**/
}
Modifier.background(Color)
应该可以用在这里,但是Google有其他的计划... - kc_dev背景颜色由使用ButtonDefaults.buttonColors
函数的colors
参数定义。
使用M2,您可以指定backgroundColor
值:
Button(
onClick = { },
colors = ButtonDefaults.buttonColors(
backgroundColor = Color.White,
contentColor = Color.Red)
)
使用 M3,您可以指定containerColor
的值:
Button(
onClick = { },
colors = ButtonDefaults.buttonColors(
containerColor = Color.White,
contentColor = Color.Red)
)
startActivity(intent)
。 - Gabriele MariottiButtonConstants.defaultButtonColor
在1.0.0-alpha09
已被弃用,请使用:
colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
更新版本1.3.0:
colors = ButtonDefaults.buttonColors(containerColor = Color.Yellow),
编辑背景按钮颜色 创建一个名为mainButtonColor的变量,并定义背景颜色和内容颜色。
implementation 'androidx.compose.material3:material3:1.0.0-alpha02'
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")
}
}
ButtonDefaults.buttonColors
函数返回一个 ButtonColors
对象,而不是布尔值。因此,您需要将返回的 ButtonColors
对象传递给 Button 组合中的 colors 参数。
以下是如何使用 ButtonDefaults.buttonColors
来设置 Button 的背景颜色的示例:
Button(
onClick = { /* Do something */ },
colors = ButtonDefaults.buttonColors(backgroundColor = Color(0xFFCA1212))
) {
Text("Compose")
}
这段代码将按钮的背景颜色设置为#CA1212
,并在按钮中显示文本Compose
。请注意,您需要导入androidx.compose.material.Button
和androidx.compose.material.ButtonDefaults
才能使用此代码。
步骤1:仅设置背景:
Button(
colors = buttonColors(Color.Red),
onClick = {}
) {
Text(text = "Login")
}
全套颜色:
Button(
colors = ButtonDefaults.buttonColors(
backgroundColor = Color.Red,
contentColor = Color.Green,
disabledBackgroundColor = Color.Yellow,
disabledContentColor = Color.Magenta
),
onClick = {}
) {
Text(text = "Login")
}
步骤2(可选):但这是最佳实践
材料2案例:
Color.Red change MaterialTheme.colors.primary
Material 3 case:
Color.Red change MaterialTheme.colorScheme.tertiaryContainer
Button(
onClick = { /* click */ },
colors = ButtonDefaults.elevatedButtonColors(
containerColor = Color.White,
contentColor = Color.Red
)
) {
/* Your code */
}
请参考androidx.compose.material3.Button的buttonColors组合这里
Button(
onClick = { },
colors = ButtonDefaults.buttonColors(
backgroundColor = Color(red = 255, green = 169, blue = 0)
)
) {}
backgroundColor = Color(red = 255, green = 169, blue = 0)
是我们如何将按钮的背景颜色更改为自定义颜色 Button(onClick = { },
colors = ButtonDefaults.buttonColors
(contentColor = Color.Black, //pre-created colour
containerColor = Color(255,255,157))) // custom colour