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

@@ -3,7 +3,6 @@ package eu.kanade.presentation.more
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.material.icons.Icons
import androidx.compose.material.icons.outlined.CloudOff
import androidx.compose.material.icons.outlined.GetApp
@@ -15,7 +14,6 @@ import androidx.compose.material.icons.outlined.SettingsBackupRestore
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.painterResource
@@ -47,12 +45,12 @@ fun MoreScreen(
val downloadQueueState by presenter.downloadQueueState.collectAsState()
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_more),
downloadedOnlyMode = presenter.downloadedOnly.value,
incognitoMode = presenter.incognitoMode.value,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Public
import androidx.compose.runtime.Composable
@@ -40,11 +39,11 @@ fun AboutScreen(
val uriHandler = LocalUriHandler.current
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.pref_category_about),
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -4,7 +4,6 @@ import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -21,11 +20,11 @@ fun LicensesScreen(
navigateUp: () -> Unit,
) {
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.licenses),
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -4,11 +4,9 @@ import androidx.annotation.StringRes
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.material.icons.Icons
import androidx.compose.material.icons.outlined.Search
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.res.stringResource
import eu.kanade.presentation.components.AppBar
@@ -26,8 +24,7 @@ fun SettingsMainScreen(
onClickSearch: () -> Unit,
) {
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_settings),
navigateUp = navigateUp,
@@ -42,6 +39,7 @@ fun SettingsMainScreen(
),
)
},
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->

View File

@@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
@@ -39,8 +38,7 @@ fun SettingsSearchScreen(
var query by remember { mutableStateOf("") }
Scaffold(
modifier = Modifier.statusBarsPadding(),
topBar = {
topBar = { scrollBehavior ->
SearchToolbar(
searchQuery = query,
onChangeSearchQuery = {
@@ -49,6 +47,7 @@ fun SettingsSearchScreen(
},
onClickCloseSearch = navigateUp,
onClickResetSearch = { query = "" },
scrollBehavior = scrollBehavior,
)
// TODO: search placeholder

View File

@@ -19,12 +19,13 @@ fun ClearDatabaseScreen(
) {
val context = LocalContext.current
Scaffold(
topBar = {
topBar = { scrollBehavior ->
ClearDatabaseToolbar(
state = presenter,
navigateUp = navigateUp,
onClickSelectAll = { presenter.selectAll() },
onClickInvertSelection = { presenter.invertSelection() },
scrollBehavior = scrollBehavior,
)
},
floatingActionButton = {

View File

@@ -3,6 +3,7 @@ package eu.kanade.presentation.more.settings.database.components
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.FlipToBack
import androidx.compose.material.icons.outlined.SelectAll
import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import eu.kanade.presentation.components.AppBar
@@ -16,6 +17,7 @@ fun ClearDatabaseToolbar(
navigateUp: () -> Unit,
onClickSelectAll: () -> Unit,
onClickInvertSelection: () -> Unit,
scrollBehavior: TopAppBarScrollBehavior,
) {
AppBar(
title = stringResource(R.string.pref_clear_database),
@@ -38,5 +40,6 @@ fun ClearDatabaseToolbar(
)
}
},
scrollBehavior = scrollBehavior,
)
}