Junior — Middle
Jetpack Compose'ta Collapsing Toolbar bileşeniyle çalıştınız mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Jetpack Compose'ta, CoordinatorLayout ve AppBarLayout ile klasik Android'deki gibi gömülü bir Collapsing Toolbar bileşeni yoktur. Ancak, LazyColumn veya NestedScrollConnection kullanarak benzer bir davranış gerçekleştirmek mümkündür; kaydırmayı izleyerek üst bileşenin boyutunu veya görünürlüğünü değiştirebilirsiniz.
Basitleştirilmiş bir collapsible toolbar örneği:
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))
}
}
}
Daha karmaşık durumlar için, NestedScroll API'leriyle özel çözümler veya kütüphaneler kullanılabilir.