Sobes.tech
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.