Проблема
Я ищу способ изменить PaddingValues, чтобы они не включали BottomPadding .
Моя текущая реализация выглядит так, но здесь мне нужно передать LayoutDirection, что кажется очень неуклюжим.
fun PaddingValues.exceptBottomPadding(layoutDirection: LayoutDirection) =
PaddingValues(
top = calculateTopPadding(),
bottom = 0.dp,
end = calculateEndPadding(layoutDirection),
start = calculateStartPadding(layoutDirection)
)
Изначально я надеялся, что будет способ изменения PaddingValues, подобный классу данных, например myPadding.copy(bottom = 0.dp), но нет, это было бы слишком просто...
Использование
Я использую свое приложение Material3-Android «от края до края».
Для этого мой Scaffold предоставляет мой контент с PaddingValues (включая Insets).
Однако мое основное представление прокрутки контента также должно быть от края до края, поэтому я бы хотел игнорировать нижнюю часть часть PaddingValues.
(позже я повторно добавлю его как дополнение к содержимому, но это достаточно просто).
Что-то вроде:
Scaffold(
topBar = { ... },
) { paddingWithInset ->
LazyColumn(
modifier = Modifier.padding(paddingWithInset.exceptBottomPadding()),
contentPadding = PaddingValues(bottom = paddingWithInset.calculateBottomPadding())
) {
...
}
}
Я пробовал просто применить полный элемент paddingWithInset в качестве contentPadding, но это убивает эффект overscrollEffect
Изменить
ExceptBottomPadding, конечно, можно. сделать составным, что позволит получить доступ к LocalLayoutDirection. Однако это по-прежнему кажется неуклюжим.
@Composable
fun PaddingValues.exceptBottomPadding(): PaddingValues {
val layoutDirection = LocalLayoutDirection.current
return PaddingValues(
top = calculateTopPadding(),
bottom = 0.dp,
end = calculateEndPadding(layoutDirection),
start = calculateStartPadding(layoutDirection)
)
}
Подробнее здесь: https://stackoverflow.com/questions/744 ... ck-compose
PaddingValues, кроме нижнегоPadding в Jetpack Compose ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1729707176
Anonymous
[b]Проблема[/b]
Я ищу способ изменить PaddingValues, чтобы они не включали BottomPadding .
Моя текущая реализация выглядит так, но здесь мне нужно передать LayoutDirection, что кажется очень неуклюжим.
fun PaddingValues.exceptBottomPadding(layoutDirection: LayoutDirection) =
PaddingValues(
top = calculateTopPadding(),
bottom = 0.dp,
end = calculateEndPadding(layoutDirection),
start = calculateStartPadding(layoutDirection)
)
Изначально я надеялся, что будет способ изменения PaddingValues, подобный классу данных, например myPadding.copy(bottom = 0.dp), но нет, это было бы слишком просто...
[b]Использование [/b]
Я использую свое приложение Material3-Android «от края до края».
Для этого мой Scaffold предоставляет мой контент с PaddingValues (включая Insets).
Однако мое основное представление прокрутки контента также должно быть от края до края, поэтому я бы хотел игнорировать нижнюю часть часть PaddingValues.
(позже я повторно добавлю его как дополнение к содержимому, но это достаточно просто).
Что-то вроде:
Scaffold(
topBar = { ... },
) { paddingWithInset ->
LazyColumn(
modifier = Modifier.padding(paddingWithInset.exceptBottomPadding()),
contentPadding = PaddingValues(bottom = paddingWithInset.calculateBottomPadding())
) {
...
}
}
Я пробовал просто применить полный элемент paddingWithInset в качестве contentPadding, но это убивает эффект overscrollEffect
[b]Изменить[/b]
ExceptBottomPadding, конечно, можно. сделать составным, что позволит получить доступ к LocalLayoutDirection. Однако это по-прежнему кажется неуклюжим.
@Composable
fun PaddingValues.exceptBottomPadding(): PaddingValues {
val layoutDirection = LocalLayoutDirection.current
return PaddingValues(
top = calculateTopPadding(),
bottom = 0.dp,
end = calculateEndPadding(layoutDirection),
start = calculateStartPadding(layoutDirection)
)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/74442251/paddingvalues-except-bottompadding-in-jetpack-compose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия