Он принимает прозрачный цвет и сплошной цвет, но если я хочу разместить там вертикальный градиент, он возвращает только сплошной цвет . Такого поведения не происходит, если я использую его в любом другом компоненте, например Box.
Возможно, это ошибка компонента Scaffold, но я не уверен.
По сути, я хочу добиться того, чтобы у меня была вертикальная прокрутка внутри моего контента в Scaffold, и если я прокручиваю вниз и контент выходит за кнопку buttonBar, он обрезается своим фоном, который должен быть прозрачным вверху и медленно переходить в сплошной цвет. цвет (вот почему я хочу обернуть его Box с вертикальным градиентом). Если я установлю для этого поля значение «Прозрачный», оно станет прозрачным и не обрежет мой контент, но градиент по какой-то причине не поддерживается. Он преобразуется в сплошной цвет независимо от того, какой startY/endY я там установил.
Я использую эту технику с вертикальным градиентом в фоновых компонентах экрана, где нижний компонент имеет блеклый край, и он работает без каких-либо проблем. . Просто если он используется в нижней панели Scaffold, он игнорируется.
Код: Выделить всё
val backgroundColor = Brush.verticalGradient(
colors = listOf(
Color.Transparent,
tabColors.backgroundBottom,
),
startY = 0f,
endY = 50f,
tileMode = TileMode.Clamp,
)
Scaffold (
bottomBar = {
if (isTabBarVisible) {
Box(
modifier = Modifier
.fillMaxWidth()
.background(backgroundColor)
.padding(16.dp)
) {
TabBar(
navController = navController,
)
}
}
}
) { innerPadding ->
NavHost(
modifier = Modifier.padding(innerPadding),
navController = navController,
startDestination = Screen.SplashData,
) {
... navigation to screens
}
}
Белый == Прозрачный
Прокручиваемый контент = = Содержимое, отображаемое NavHost (составные экраны с жизненным циклом)
Фон «Fade» должен быть частью TabBar, поскольку существует контент (экраны), где нижняя панель навигации скрыта, и я не хочу этого делать там исчезло.

Вот как это выглядит сейчас, если я передаю туда вертикальный градиент (он принимает непрозрачный цвет как сплошной), который вызывает обрезку прокручиваемого содержимого за панелью вкладок (нижняя панель).

Подробнее здесь: https://stackoverflow.com/questions/791 ... -bottombar
Мобильная версия