Refactor(OxygenApp): Optimize app bar
Optimize app bar when scroll
This commit is contained in:
@@ -14,7 +14,6 @@ import androidx.compose.foundation.layout.safeDrawing
|
|||||||
import androidx.compose.foundation.layout.safeDrawingPadding
|
import androidx.compose.foundation.layout.safeDrawingPadding
|
||||||
import androidx.compose.foundation.layout.windowInsetsPadding
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
||||||
import androidx.compose.material3.BottomAppBar
|
import androidx.compose.material3.BottomAppBar
|
||||||
import androidx.compose.material3.BottomAppBarDefaults
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
@@ -82,9 +81,7 @@ fun OxygenApp(appState: OxygenAppState) {
|
|||||||
val handleOnCanScrollChange = { value: Boolean ->
|
val handleOnCanScrollChange = { value: Boolean ->
|
||||||
canScroll = value
|
canScroll = value
|
||||||
}
|
}
|
||||||
val topAppBarScrollBehavior =
|
val topAppBarScrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
|
||||||
TopAppBarDefaults.enterAlwaysScrollBehavior(canScroll = { canScroll })
|
|
||||||
val bottomAppBarScrollBehavior = BottomAppBarDefaults.exitAlwaysScrollBehavior()
|
|
||||||
|
|
||||||
LaunchedEffect(isOffline) {
|
LaunchedEffect(isOffline) {
|
||||||
if (isOffline) {
|
if (isOffline) {
|
||||||
@@ -105,8 +102,7 @@ fun OxygenApp(appState: OxygenAppState) {
|
|||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.nestedScroll(topAppBarScrollBehavior.nestedScrollConnection)
|
.nestedScroll(topAppBarScrollBehavior.nestedScrollConnection),
|
||||||
.nestedScroll(bottomAppBarScrollBehavior.nestedScrollConnection),
|
|
||||||
containerColor = Color.Transparent,
|
containerColor = Color.Transparent,
|
||||||
contentColor = MaterialTheme.colorScheme.onBackground,
|
contentColor = MaterialTheme.colorScheme.onBackground,
|
||||||
contentWindowInsets = WindowInsets(0, 0, 0, 0),
|
contentWindowInsets = WindowInsets(0, 0, 0, 0),
|
||||||
@@ -116,7 +112,6 @@ fun OxygenApp(appState: OxygenAppState) {
|
|||||||
visible = appState.shouldShowBottomBar && destination != null,
|
visible = appState.shouldShowBottomBar && destination != null,
|
||||||
enter = slideInVertically { it }) {
|
enter = slideInVertically { it }) {
|
||||||
BottomAppBar(
|
BottomAppBar(
|
||||||
scrollBehavior = bottomAppBarScrollBehavior,
|
|
||||||
windowInsets = WindowInsets(0)
|
windowInsets = WindowInsets(0)
|
||||||
) {
|
) {
|
||||||
OxygenBottomBar(
|
OxygenBottomBar(
|
||||||
|
|||||||
Reference in New Issue
Block a user