Однако LargeTopAppBar можно свернуть, даже если внутреннее содержимое не прокручивается.
ШАГИ
- Я создал переменную ScrollBehavior, которая имеет вид TopAppBarDefaults.exitUntilCollapsedScrollBehavior().
- Я поместил свой TopAppBar в аргумент Scaffold topBar. TopAppBar имеет переменную ScrollBehavior внутри аргумента ScrollBehavior.
- Наконец, я добавил .nestedScroll(scrollBehavior.nestedScrollConnection) в модификаторе Scaffold.
Код: Выделить всё
@Composable
fun HomeScreen() {
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() // Unit
) {
LargeTopAppBar(
title = { /* Title Composable */ },
actions = { /* Some Action Button Composable */ },
scrollBehavior = scrollBehavior // 0 || scrollState.firstVisibleItemScrollOffset > 0
}
}
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
canScroll = { isScrollable.value }
)
Сейчас приложение работает вот так: https:// imgur.com/a/dtGQJo0
Если вы видите GIF, TopAppBar прокручивается и сворачивается, даже внутренний элемент не прокручивается. Вы по-прежнему можете свернуть TopAppBar, пока перетаскиваете/прокручиваете внутреннюю часть элемента.
Что я хочу реализовать: https://imgur.com/a/vAr5sGN
По этой ссылке три изображения. Как вы можете видеть в настройках Android. Часть TopAppBar не прокручивается и не сворачивается, если достаточно места. Когда предметов достаточно. Он свернётся, но прокрутить вниз всё равно нельзя, когда тач начинается с части TopAppBar.
Подробнее здесь: https://stackoverflow.com/questions/785 ... ble-in-jet