Make top app bar lift behavior more consistent

This commit is contained in:
arkon
2022-08-31 16:31:08 -04:00
parent 4c1da1bd1d
commit 504844a892
22 changed files with 73 additions and 90 deletions

View File

@@ -38,7 +38,7 @@ fun BrowseLatestScreen(
}
Scaffold(
topBar = {
topBar = { scrollBehavior ->
BrowseLatestToolbar(
navigateUp = navigateUp,
source = presenter.source!!,
@@ -46,6 +46,7 @@ fun BrowseLatestScreen(
onDisplayModeChange = { presenter.displayMode = it },
onHelpClick = onHelpClick,
onWebViewClick = onWebViewClick,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -71,7 +71,7 @@ fun BrowseSourceScreen(
}
Scaffold(
topBar = {
topBar = { scrollBehavior ->
BrowseSourceToolbar(
state = presenter,
source = presenter.source!!,
@@ -81,6 +81,7 @@ fun BrowseSourceScreen(
onWebViewClick = onWebViewClick,
onHelpClick = onHelpClick,
onSearch = { presenter.search() },
scrollBehavior = scrollBehavior,
)
},
floatingActionButton = {

View File

@@ -21,7 +21,6 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
@@ -80,8 +79,7 @@ fun ExtensionDetailsScreen(
val uriHandler = LocalUriHandler.current
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_extension_info),
navigateUp = navigateUp,
@@ -123,6 +121,7 @@ fun ExtensionDetailsScreen(
},
)
},
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -4,7 +4,6 @@ import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Switch
import androidx.compose.runtime.Composable
@@ -32,11 +31,11 @@ fun ExtensionFilterScreen(
) {
val context = LocalContext.current
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_extensions),
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -4,7 +4,6 @@ import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.items
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -34,11 +33,11 @@ fun MigrateMangaScreen(
) {
val context = LocalContext.current
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = title,
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -4,7 +4,6 @@ import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Checkbox
import androidx.compose.material3.Switch
@@ -38,11 +37,11 @@ fun SourcesFilterScreen(
) {
val context = LocalContext.current
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_sources),
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -9,6 +9,7 @@ import androidx.compose.material.icons.outlined.ViewModule
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -31,6 +32,7 @@ fun BrowseLatestToolbar(
onDisplayModeChange: (LibraryDisplayMode) -> Unit,
onHelpClick: () -> Unit,
onWebViewClick: () -> Unit,
scrollBehavior: TopAppBarScrollBehavior,
) {
AppBar(
navigateUp = navigateUp,
@@ -101,5 +103,6 @@ fun BrowseLatestToolbar(
)
}
},
scrollBehavior = scrollBehavior,
)
}

View File

@@ -15,6 +15,7 @@ import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -47,6 +48,7 @@ fun BrowseSourceToolbar(
onWebViewClick: () -> Unit,
onHelpClick: () -> Unit,
onSearch: () -> Unit,
scrollBehavior: TopAppBarScrollBehavior,
) {
if (state.searchQuery == null) {
BrowseSourceRegularToolbar(
@@ -57,6 +59,7 @@ fun BrowseSourceToolbar(
onSearchClick = { state.searchQuery = "" },
onWebViewClick = onWebViewClick,
onHelpClick = onHelpClick,
scrollBehavior = scrollBehavior,
)
} else {
BrowseSourceSearchToolbar(
@@ -68,6 +71,7 @@ fun BrowseSourceToolbar(
},
onResetClick = { state.searchQuery = "" },
onSearchClick = onSearch,
scrollBehavior = scrollBehavior,
)
}
}
@@ -81,6 +85,7 @@ fun BrowseSourceRegularToolbar(
onSearchClick: () -> Unit,
onWebViewClick: () -> Unit,
onHelpClick: () -> Unit,
scrollBehavior: TopAppBarScrollBehavior,
) {
AppBar(
navigateUp = navigateUp,
@@ -156,6 +161,7 @@ fun BrowseSourceRegularToolbar(
)
}
},
scrollBehavior = scrollBehavior,
)
}
@@ -166,6 +172,7 @@ fun BrowseSourceSearchToolbar(
navigateUp: () -> Unit,
onResetClick: () -> Unit,
onSearchClick: () -> Unit,
scrollBehavior: TopAppBarScrollBehavior,
) {
val focusRequester = remember { FocusRequester() }
AppBar(
@@ -197,6 +204,7 @@ fun BrowseSourceSearchToolbar(
),
)
},
scrollBehavior = scrollBehavior,
)
LaunchedEffect(Unit) {
// TODO: https://issuetracker.google.com/issues/204502668