更新 UI
This commit is contained in:
@@ -8,6 +8,7 @@ import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.animation.core.tween
|
||||
import androidx.compose.animation.fadeIn
|
||||
import androidx.compose.animation.fadeOut
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@@ -20,16 +21,26 @@ 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.pager.HorizontalPager
|
||||
import androidx.compose.foundation.pager.PagerState
|
||||
import androidx.compose.foundation.pager.rememberPagerState
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.NavigationBar
|
||||
import androidx.compose.material3.NavigationBarItem
|
||||
import androidx.compose.material3.NavigationBarItemColors
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Tab
|
||||
import androidx.compose.material3.TabRow
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.runtime.compositionLocalOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
@@ -37,6 +48,7 @@ import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.navigation.NavGraph
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
@@ -45,6 +57,7 @@ import androidx.navigation.compose.rememberNavController
|
||||
import com.aiosman.riderpro.ui.theme.RiderProTheme
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.google.android.libraries.places.api.Places
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
@@ -73,12 +86,7 @@ fun NavigationController(navController: NavHostController) {
|
||||
NavHost(
|
||||
navController = navController,
|
||||
startDestination = NavigationItem.Home.route,
|
||||
enterTransition = {
|
||||
fadeIn(animationSpec = tween(0))
|
||||
},
|
||||
exitTransition = {
|
||||
fadeOut(animationSpec = tween(0))
|
||||
}) {
|
||||
) {
|
||||
// 带底部导航栏的路由:
|
||||
listOf(
|
||||
NavigationItem.Home,
|
||||
@@ -111,11 +119,7 @@ fun NavigationController(navController: NavHostController) {
|
||||
}
|
||||
}
|
||||
composable(route = "OfficialPhoto") {
|
||||
Box(
|
||||
modifier = Modifier.padding(bottom = navigationBarHeight)
|
||||
) {
|
||||
OfficialGalleryPage()
|
||||
}
|
||||
OfficialGalleryPage()
|
||||
}
|
||||
composable(route = "OfficialPhotographer") {
|
||||
OfficialPhotographer()
|
||||
@@ -128,11 +132,7 @@ fun NavigationController(navController: NavHostController) {
|
||||
}
|
||||
}
|
||||
composable(route = "ModificationList") {
|
||||
Box(
|
||||
modifier = Modifier.padding(bottom = navigationBarHeight)
|
||||
) {
|
||||
ModificationListScreen()
|
||||
}
|
||||
ModificationListScreen()
|
||||
}
|
||||
composable(route = "MyMessage") {
|
||||
|
||||
@@ -205,26 +205,31 @@ fun ScaffoldWithNavigationBar(
|
||||
NavigationBarItem(
|
||||
selected = currentRoute == it.route,
|
||||
onClick = {
|
||||
// Check if the current route is not the same as the tab's route to avoid unnecessary navigation
|
||||
if (currentRoute != it.route) {
|
||||
navController.navigate(it.route)
|
||||
navController.navigate(it.route) {
|
||||
// Avoid creating a new layer on top of the navigation stack
|
||||
launchSingleTop = true
|
||||
// Attempt to pop up to the existing instance of the destination, if present
|
||||
popUpTo(navController.graph.startDestinationId) {
|
||||
saveState = true
|
||||
}
|
||||
// Restore state when navigating back to the composable
|
||||
restoreState = true
|
||||
}
|
||||
}
|
||||
// Additional logic for system UI color changes
|
||||
when (it.route) {
|
||||
NavigationItem.Add.route -> {
|
||||
systemUiController.setSystemBarsColor(
|
||||
color = Color.Black
|
||||
)
|
||||
systemUiController.setSystemBarsColor(color = Color.Black)
|
||||
}
|
||||
|
||||
NavigationItem.Message.route -> {
|
||||
systemUiController.setSystemBarsColor(
|
||||
color = Color.Black
|
||||
)
|
||||
systemUiController.setSystemBarsColor(color = Color.Black)
|
||||
}
|
||||
|
||||
else -> {
|
||||
systemUiController.setSystemBarsColor(
|
||||
color = Color.Transparent
|
||||
)
|
||||
systemUiController.setSystemBarsColor(color = Color.Transparent)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user