LicensesScreen: Saving list position.
This commit is contained in:
parent
91dae4efca
commit
541aa257f4
3 changed files with 10 additions and 6 deletions
|
|
@ -20,14 +20,14 @@ import kotlinx.coroutines.flow.collectLatest
|
|||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun TopAppBarDefaults.collapsibleUntilExitScrollBehaviorWithLazyListState(
|
||||
|
||||
listState: LazyListState? = null
|
||||
): Pair<TopAppBarScrollBehavior, LazyListState> {
|
||||
val listState = rememberLazyListState()
|
||||
val lazyListState = listState ?: rememberLazyListState()
|
||||
|
||||
var canScroll by remember { mutableStateOf(false) }
|
||||
val scrollBehavior = exitUntilCollapsedScrollBehavior(
|
||||
canScroll = {
|
||||
listState.canScrollForward || canScroll
|
||||
lazyListState.canScrollForward || canScroll
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ fun TopAppBarDefaults.collapsibleUntilExitScrollBehaviorWithLazyListState(
|
|||
}
|
||||
}
|
||||
|
||||
return scrollBehavior to listState
|
||||
return scrollBehavior to lazyListState
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -63,7 +63,9 @@ private fun LicensesScreen(
|
|||
state: State<LicensesState>,
|
||||
onNavigate: OnNavigate
|
||||
) {
|
||||
val scrollState = TopAppBarDefaults.collapsibleUntilExitScrollBehaviorWithLazyListState()
|
||||
val scrollState = TopAppBarDefaults.collapsibleUntilExitScrollBehaviorWithLazyListState(
|
||||
state.value.listState
|
||||
)
|
||||
|
||||
Scaffold(
|
||||
Modifier
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package ua.acclorite.book_story.presentation.screens.about.nested.licenses.data
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.mikepenz.aboutlibraries.entity.Library
|
||||
|
||||
@Immutable
|
||||
data class LicensesState(
|
||||
val licenses: List<Library> = emptyList()
|
||||
val licenses: List<Library> = emptyList(),
|
||||
val listState: LazyListState = LazyListState()
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue