Bodennavigationsleiste in Material 3 Android Jetpack komponierenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Bodennavigationsleiste in Material 3 Android Jetpack komponieren

Post by Anonymous »

Wenn ich runde Ecke möchte, füge ich Schatten hinzu, ich habe kleine Balken auf meiner Navigation unter dem unteren Balken, also sieht mein Schatten und meine abgerundete Ecke nicht gut aus. />
Ich habe die Farbe geändert, um besser zu sehen,
var selectedItemIndex by rememberSaveable {
mutableStateOf(0)
}
Scaffold (
containerColor = Color.Transparent,
modifier = Modifier.fillMaxSize(),
bottomBar = {
NavigationBar(
modifier = Modifier.fillMaxWidth()
.shadow(elevation = 3.dp, RoundedCornerShape(topEnd = 20.dp, topStart = 20.dp)),
containerColor = Color.DarkGray

)
{
BottomNavigationForEachItem.forEachIndexed { index, bottomNavItem ->
NavigationBarItem(
modifier = Modifier.padding(vertical = 5.dp),
selected = selectedItemIndex == index,
onClick = {
selectedItemIndex = index
navController.navigate(bottomNavItem.route)
},
icon = {
Icon(
modifier = Modifier.size(32.dp),
imageVector = if (selectedItemIndex == index) {
bottomNavItem.selectedIcon
} else bottomNavItem.unSelectedIcon,
contentDescription = bottomNavItem.label
)
}
)
}
}
}
){innerPadding ->

NavHost(
navController = navController,
startDestination = startDestination.route,
modifier = Modifier.padding(innerPadding)
){
composable(ScreenNav.Auth.route) {
AuthScreen(navController)
}

composable(ScreenNav.Login.route) {
SignInScreen(navController)
}

composable(ScreenNav.Home.route) {
val viewModel = hiltViewModel()
val tala = viewModel.talaPagingFlow.collectAsLazyPagingItems()
val itemMeta = viewModel.itemMetaPagingFlow.collectAsLazyPagingItems()
val itemMetaMap by viewModel.itemMetaMap.collectAsState()

HomeScreen(
tala = tala,
itemMeta = itemMeta,
onFetchItemMeta = { itemId -> viewModel.getItemMeta(itemId) },
itemMetaMap = itemMetaMap
)
}

composable(ScreenNav.Saved.route) {
SavedScreen()
}

composable(ScreenNav.Profile.route) {
ProfileScreen()
}

}
}
< /code>
und < /p>
val BottomNavigationForEachItem = listOf(

BottomNavItem(
selectedIcon = Icons.Filled.Person,
unSelectedIcon = Icons.Outlined.Person,
route = ScreenNav.Profile.route
),
BottomNavItem(
selectedIcon = Icons.Filled.Home,
unSelectedIcon = Icons.Outlined.Home,
route = ScreenNav.Home.route
),
BottomNavItem(
selectedIcon = Icons.Filled.Favorite,
unSelectedIcon = Icons.Outlined.Favorite,
route = ScreenNav.Saved.route
)
)
< /code>
Und dies ist meine Datenklasse < /p>
data class BottomNavItem(
val selectedIcon: ImageVector,
val unSelectedIcon: ImageVector,
val route: String
)
< /code>
Ich habe viel versucht, aber ich konnte diesen kleinen Balken auf meiner unteren Navigation nicht entfernen,
eigentlich diese Balken, die gleiche Farbe von Scafold ist. Ich versuche, Windowinsets = 0 zu verwenden.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post