Junior — Middle
Jetpack Compose-də Collapsing Toolbar komponenti ilə işləyibsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Jetpack Compose-da, CoordinatorLayout və AppBarLayout ilə klassik Android-də olduğu kimi, daxili Collapsing Toolbar komponenti yoxdur. Ancaq, LazyColumn və ya NestedScrollConnection istifadə edərək oxşar davranışı həyata keçirmək mümkündür; sürüşməni izləyərək yuxarı komponentin ölçüsünü və ya görünürlüğünü dəyişə bilərsiniz.
Sadə bir collapsible toolbar nümunəsi:
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(stan = scrollState) {
items(100) { index ->
Text("Item #$index", modifier = Modifier.padding(16.dp))
}
}
}
Daha mürəkkəb hallarda, NestedScroll API-ləri ilə xüsusi həllər və ya kitabxanalar istifadə oluna bilər.