Possible fix for nested scrolling

This commit is contained in:
Sad Ellie 2022-06-19 17:17:49 +03:00
parent d0f122497b
commit c9ef384d14
3 changed files with 43 additions and 49 deletions

View File

@ -85,9 +85,9 @@ fun AboutScreen(
}, },
) { padding -> ) { padding ->
LazyColumn( LazyColumn(
Modifier.padding(padding).padding(horizontal = 16.dp), Modifier.padding(horizontal = 16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp),
contentPadding = PaddingValues(vertical = 16.dp) contentPadding = padding
) { ) {
items(items = ALL_LIBRARIES.value) { items(items = ALL_LIBRARIES.value) {
OutlinedCard( OutlinedCard(

View File

@ -78,7 +78,6 @@ private fun BasicUnitListScreen(
Scaffold( Scaffold(
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = { topBar = {
Column {
SearchBar( SearchBar(
title = title, title = title,
value = uiState.searchQuery, value = uiState.searchQuery,
@ -95,6 +94,11 @@ private fun BasicUnitListScreen(
focusManager = focusManager, focusManager = focusManager,
scrollBehavior = scrollBehavior scrollBehavior = scrollBehavior
) )
}
) { paddingValues ->
Column(
Modifier.padding(paddingValues)
) {
chipsRow( chipsRow(
uiState.chosenUnitGroup, uiState.chosenUnitGroup,
{ {
@ -103,12 +107,7 @@ private fun BasicUnitListScreen(
}, },
chipsRowLazyListState chipsRowLazyListState
) )
} LazyColumn {
}
) { paddingValues ->
LazyColumn(
modifier = Modifier.padding(paddingValues)
) {
if (uiState.unitsToShow.isEmpty()) { if (uiState.unitsToShow.isEmpty()) {
item { SearchPlaceholder() } item { SearchPlaceholder() }
return@LazyColumn return@LazyColumn
@ -116,9 +115,7 @@ private fun BasicUnitListScreen(
uiState.unitsToShow.forEach { (unitGroup, listOfUnits) -> uiState.unitsToShow.forEach { (unitGroup, listOfUnits) ->
stickyHeader { Header(text = stringResource(id = unitGroup.res)) } stickyHeader { Header(text = stringResource(id = unitGroup.res)) }
items(items = listOfUnits, key = { it.unitId }) { unit -> items(items = listOfUnits, key = { it.unitId }) { unit ->
unitsListItem( unitsListItem(unit) {
unit
) {
selectAction(it) selectAction(it)
viewModel.onSearchQueryChange("") viewModel.onSearchQueryChange("")
focusManager.clearFocus(true) focusManager.clearFocus(true)
@ -128,6 +125,7 @@ private fun BasicUnitListScreen(
} }
} }
} }
}
// This block is called only once on initial composition // This block is called only once on initial composition
LaunchedEffect(Unit) { LaunchedEffect(Unit) {

View File

@ -88,11 +88,7 @@ fun SettingsScreen(
) )
}, },
content = { padding -> content = { padding ->
LazyColumn( LazyColumn(contentPadding = padding) {
Modifier
.padding(padding)
.fillMaxHeight()
) {
item { item {
Column { Column {
// Group header // Group header