Как изменить цвет фона SmallTopAppBar, CenterAlignedTopAppBar, MediumTopAppBar и LargeTopAppBar
Как можно использовать цветовой ресурс для изменения цвета фона верхней панели приложения MD3 в Jetpack Compose?
Понятно, а
colors
свойство доступно, но не ясно, что использовать для вышеперечисленного.
Цвет.kt
val MyColor = Color(0,5,5,255)
MainActivity.kt
MediumTopAppBar(title = {Text(text = "")})
2 ответа
В
colors
параметр должен использоваться так.
Обычно есть
Default
Компаньон для этих вещей, который предоставляет удобную функцию изменения цветов. Например, компаньон по умолчанию для цветов верхней панели просто
TopAppBarDefaults
.
Поскольку вы имеете в виду средние бары, мы будем использовать следующее
TopAppBarDefaults.mediumTopAppBarColors(
containerColor = Color(...) //Add your own color here, just to clarify.
)
Эти функции обычно обеспечивают
containerColor
и
contentColor
параметр по умолчанию.
Решение ваших проблем... Супер-легко, едва доставляет неудобства.
Если вы используетеmaterial3
и изменение цвета фона не работает, есть проблема вandroidx.compose.material3:material3
, и вам необходимо обновить его доandroidx.compose.material3:material3:1.2.0-alpha06
или более новые версии, чтобы исправить фоновую проблему вmediumTopAppBar
илиlargeTopAppBar
.