Junior — Middle
Jetpack Compose'tо Collapsing Toolbar компонентинде иштедиңби?
sobes.tech AI
AIден жооп
Jetpack Compose'те, CoordinatorLayout жана AppBarLayout менен классикалык Android сыяктуу, встроенный Collapsing Toolbar компоненти жок. Бирок, LazyColumn же NestedScrollConnection колдонуп, окшош жүрүм-турумду ишке ашырууга болот; скроллду көзөмөлдөп, жогорку компоненттин өлчөмүн же көрүнүшүн өзгөртүүгө болот.
Жөнөкөйлөштүрүлгөн collapsible toolbar мисалы:
var toolbarHeight remember { mutableStateOf(200.dp) }
val scrollState = rememberLazyListState()
LaunchedEffect(scrollState.firstVisibleItemScrollOffset) {
toolbarHeight = (200 - scrollState.firstVisibleItemScrollOffset.dp).coerceAtLeast(56.dp)
}
Column {
Box(modifier = Modifier
.height(toolbarHeight)
.fillMaxWidth()
.background(Color.Blue)) {
Text("Collapsing Toolbar", color = Color.White, modifier = Modifier.align(Alignment.Center))
}
LazyColumn(state = scrollState) {
items(100) { index ->
Text("Item #$index", modifier = Modifier.padding(16.dp))
}
}
}
Көчүрүлгөн учурларда, китепканалар колдонуп же жеке чечимдер түзүү үчүн NestedScroll API'лерин колдонсо болот.