Как изменить высоту NavigationBar в Jetpack Compose с помощью Material 3?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить высоту NavigationBar в Jetpack Compose с помощью Material 3?

Сообщение Anonymous »

Я хотел бы изменить высоту по умолчанию панели навигации материала 3 с помощью Jetpack Compose.
[img]https://i.sstatic .net/VCJR0agt.png[/img]

Я пробовал изменить высоту навигационной панели с помощью Modifier.height, но у нее есть ограничение, и значок сталкивается с текстом.
Это мой код:

Код: Выделить всё

@Composable
fun AppNavigation() {
val navController = rememberNavController()

Scaffold(
bottomBar = {
NavigationBar(
containerColor = MainWhite
) {
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentDestination = navBackStackEntry?.destination

listOfNavItems.forEach { navItem ->
val selected =
currentDestination?.hierarchy?.any { it.route == navItem.route } == true

NavigationBarItem(
selected = selected,
onClick = {
navController.navigate(navItem.route) {
popUpTo(navController.graph.findStartDestination().id) {
saveState = true
}
launchSingleTop = true
restoreState = true
}
},
icon = {
Icon(
if (selected) navItem.filledIcon else navItem.outlinedIcon,
contentDescription = navItem.description,
modifier = Modifier.size(30.dp),
)

},
label = {
Text(
text = navItem.label,
style = MaterialTheme.typography.bodyLarge,
fontSize = 12.sp,
fontWeight = FontWeight.SemiBold,
)
},
colors = NavigationBarItemDefaults.colors(
selectedIconColor = MainTurquoise,
selectedTextColor = MainTurquoise,
indicatorColor = MainWhite,
unselectedIconColor = MainGrey,
unselectedTextColor = MainGrey,
disabledIconColor = Color.Black,
disabledTextColor = Color.Black
)
)
}
}
}
) { paddingValues ->
NavHost(
navController = navController,
startDestination = Screen.HomeScreen.route,
enterTransition = {
slideIntoContainer(
AnimatedContentTransitionScope.SlideDirection.Start,
tween(100)
)
},
exitTransition = {
slideOutOfContainer(
AnimatedContentTransitionScope.SlideDirection.Start,
tween(100)
)
},
popEnterTransition = {
slideIntoContainer(
AnimatedContentTransitionScope.SlideDirection.End,
tween(100)
)
},
popExitTransition = {
slideOutOfContainer(
AnimatedContentTransitionScope.SlideDirection.End,
tween(100)
)
},
modifier = Modifier.padding(paddingValues)
) {
composable(route = Screen.HomeScreen.route) {
MainScreen()
}
composable(route = Screen.NewPostScreen.route) {
NewPostScreen()
}
composable(route = Screen.InboxScreen.route) {
InboxScreen()
}
composable(route = Screen.AccountScreen.route) {
AccountScreen()
}
}
}
}
Я не знаю, как изменить высоту NavigationBar. Следуя https://m3.material.io/comComponents/na ... r/overview, мы видим, что контейнер выше, но не указано, как сделать его короче.

Подробнее здесь: https://stackoverflow.com/questions/784 ... material-3
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»