Junior — Middle
Vai esat strādājis ar komponentu Collapsing Toolbar Jetpack Compose?
sobes.tech AI
Atbilde no AI
Jetpack Compose nav iebūvēts komponents Collapsing Toolbar, kā tas ir klasiskajā Android ar CoordinatorLayout un AppBarLayout. Tomēr, līdzīgu uzvedību var īstenot, izmantojot LazyColumn vai NestedScrollConnection, sekojot ritināšanai un mainot augšējā elementa izmēru vai redzamību.
Vienkāršots collapsible toolbar piemērs:
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))
}
}
}
Sarežģītākiem gadījumiem var izmantot bibliotēkas vai izstrādāt pielāgotus risinājumus ar NestedScroll API.