Отображать BottomAppbar вне композиции для каркасаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Отображать BottomAppbar вне композиции для каркаса

Сообщение Anonymous »

У меня есть все экраны внутри каркаса и Navhost: < /p>

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

Scaffold(
snackbarHost = {
SnackbarHost(hostState = snackbarHostState)
},
modifier = Modifier.fillMaxSize()
) { innerPadding ->

NavHost(...)
}

< /code>
Но тогда у меня есть один экран в тех направлениях Navhost, где я хочу разместить нижний апбар. Поэтому я хотел бы иметь возможность определить нижний апбар не как параметр каркаса, который должен быть за пределами морского флоста, но как часть композиционного, соответствующего этому пункту назначения. Что -то подобное (обратите внимание, что детали Navhost были удалены ради простоты): < /p>
Scaffold(
modifier = Modifier.fillMaxSize()
)
{
NavHost(...) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
.consumeWindowInsets(innerPadding)
.windowInsetsPadding(
WindowInsets.safeDrawing.only(
WindowInsetsSides.Horizontal,
),
)
) {
BottomBar(
onClickBottomNavItem = onChangeSection,
currentSection = plantSheetUiState.currentSection,
hasConfusions = plantSheetUiState.plantHasConfusions
)
}
}
}
< /code>
Но, к сожалению, это ничего не отображает: (< /p>
Мне удалось сделать это в каркасе в другом каркасе: < /p>
Scaffold(
modifier = Modifier.fillMaxSize()
)
{
NavHost(...) {
Scaffold(
bottomBar = BottomBar(
onClickBottomNavItem = onChangeSection,
currentSection = plantSheetUiState.currentSection,
hasConfusions = plantSheetUiState.plantHasConfusions
),
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
.consumeWindowInsets(innerPadding)
.windowInsetsPadding(
WindowInsets.safeDrawing.only(
WindowInsetsSides.Horizontal,
),
)
) {
Body(
modifier = modifier.padding(it)
)
}
}
}
Но у меня есть ощущение, что гнездовые каркасы не очень хорошая идея, поэтому я прошу лучших вариантов.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... composable
Ответить

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

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

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

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

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