android - 如何将 Jetpack Compose 中的子项传递给自定义可组合项?

标签 android android-jetpack-compose

我很好奇是否可以将可组合物传递给自定义可组合物 block 。然后在其定义中呈现。我在想可以采用 vararg + 函数文字方法,但找不到任何信息。

//definition
@Composable
fun Content() {
    Row(modifier = Modifier.fillMaxWidth()) {
        //insert a(), b(), ..., z() so that they render in the row
    }
}

//usage
Content() {
    a()
    b()
    ...
    z()
}
这样的东西已经存在了吗?您可以通过这种方式使用 Jetpack Compose。行实现必须以某种方式处理文本。
Row(){
    Text("a")
    Text("b")
    Text("c")
}

最佳答案

看了Row、RowScope的实现,找到了documentation这 block .这可以通过以下代码示例来实现。 content @Composable() () -> Unit 类型的函数参数被传递到行中。

//definition
@Composable
fun MyCustomContent(
    modifier: Modifier = Modifier,
    content: @Composable() () -> Unit
) {
    Row(modifier = modifier) {
        content()
    }
}

//usage
MyCustomContent() {
    a()
    b()
    z()
}

关于android - 如何将 Jetpack Compose 中的子项传递给自定义可组合项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65258997/

相关文章:

android - Osmdroid 离线模式在缩放后更新图 block

android - 如何在 Jetpack compose 中使用 EditText 或 TextInput 小部件?

android - 在云端代码修改数据后检索数据

java - 我如何在另一个类中调用这个函数?

java - Android 如何将字幕添加到微调器,而不是在操作栏中

android - 在 Jetpack Compose 中创建垂直 slider

由于 Jetpack Compose 的 Accompanist Horizo​​ntalPager 中的 NullPointerException,Android 应用程序崩溃

android - Jetpack Compose 矢量解析问题

android - 如何在撰写的TextField中用逗号格式化数字

android - 如何获取以前版本构建的 ProGuard 映射文件