Как передать параметр в параметр @Composable из @Composable, где первый из них вложен?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как передать параметр в параметр @Composable из @Composable, где первый из них вложен?

Сообщение Anonymous »

Я хочу сделать навигацию с помощью Scaffold, и, поскольку этот Scaffold используется на каждом экране, я не хочу использовать шаблон.
У меня есть три забавных варианта. ParentComposable — это «самая родительская» оболочка @Composable, есть TestScaffold, куда мне нужно передавать каждый контент @Composable, поэтому в этом случае я хочу передать CustomColumn в качестве параметра contentComponent. Но Scaffold TopAppBar пересекается с contentComponent, поэтому мне нужно передать upside padding.calculateTopPadding() в TestScaffold, а затем передать его в CustomColumn внутри.
Как я могу это сделать?
Это более распространенный вопрос, касающийся не только TopAppBar, но и каждого @Composable
@Composable
fun ParentComposable() {
Row {
TestScaffold(
contentComponent = CustomColumn(?here I want pass modifier with padding from scaffold?)
)
}
}

@Composable
fun CustomColumn(modifier: Modifier) {
Column(modifier = modifier) {
Spacer(modifier = modifier)
Text("Foo")
}
}

@Preview
@Composable
fun TestScaffold(contentComponent: @Composable (modifierForContent: Modifier) -> Unit = {}) {
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = "Game App", textAlign = TextAlign.Center) },
navigationIcon = {}
)
},
content = { padding ->
contentComponent(
modifierForContent = Modifier.padding(padding)
)
}
)
}


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

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

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

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

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

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

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