#android #android-button #android-jetpack-compose #android-compose-button
#Android #android-кнопка #android-jetpack-compose #android-кнопка создания
Вопрос:
Button(backgroundColor = Color.Yellow) {
Row {
Image(asset = image)
Spacer(4.dp)
Text("Button")
}
}
Я не могу понять, почему я не могу использовать цвет фона Button
.
Я следил за составлением макета codelabs.
Существует проблема в backgroundColor
и активе в Image ().
Комментарии:
1. PS: Я также новичок в stackoverflow. Итак, пожалуйста, скажите мне, что я сделал не так 🙂
Ответ №1:
Используйте ButtonDefaults
, который доступен в версии 1.0.0 -от alpha09 до alpha11
Button(
onClick = {},
colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
) {
/**/
}
СТАРАЯ ВЕРСИЯ
backgroundColor
Для Button
больше не работает в 1.0.0-alpha7
Вместо этого используйте приведенное ниже
Button(
onClick = {},
colors = ButtonConstants.defaultButtonColors(backgroundColor = Color.Yellow)
) {
/**/
}
Комментарии:
1. Интуиция подсказывает мне
Modifier.background(Color)
, что здесь должно сработать, но у Google были другие планы…
Ответ №2:
Вы можете использовать ButtonDefaults.buttonColors
Button(
onClick = { },
colors = ButtonDefaults.buttonColors(
backgroundColor = Color.White,
contentColor = Color.Red)
)
Комментарии:
1. как насчет того, как передать onClick на другой экран?
2. @FadelFarinsqi например, просто используйте
startActivity(intent)
как обычныйActivity
в Android
Ответ №3:
При ButtonConstants.defaultButtonColor
1.0.0-alpha09
использовании не рекомендуется :
colors = ButtonDefaults.buttonColors(backgroundColor = Color.Yellow)
Обновить версию 1.3.0 :
colors = ButtonDefaults.buttonColors(containerColor = Color.Yellow),
Ответ №4:
Составьте цвет фоновых кнопок создайте переменную 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")
}
}
Ответ №5:
ШАГ 1: просто установите только bg:
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
Материал 3 корпус:
Color.Red change MaterialTheme.colorScheme.tertiaryContainer
Ответ №6:
Пользовательские цвета
- Чтобы создать пользовательский цвет, вам нужно значение RGB этого цвета.
Button(
onClick = { },
colors = ButtonDefaults.buttonColors(
backgroundColor = Color(red = 255, green = 169, blue = 0)
)
) {}
backgroundColor = Color(red = 255, green = 169, blue = 0)
как мы меняем цвет фона кнопки на пользовательский цвет