【问题标题】:Methods to set content view in Jetpack Compose UI在 Jetpack Compose UI 中设置内容视图的方法
【发布时间】:2019-11-15 13:32:55
【问题描述】:
我有三个问题
- 有
setViewContent接受composable函数作为输入参数,类似于
setContent。那么,setViewContent 和 setContent 及其用例之间有什么区别。您可以在androidx.compose 包中看到setViewContent。
-
setContent 和 setViewContent 都返回 CompositionContext?。那么,我们将如何使用CompositionContent。
- 有没有办法将现有的
layout.xml 与新的compose ui 整合到相同 活动或片段中。
【问题讨论】:
标签:
android
kotlin
android-jetpack-compose
【解决方案1】:
这是我的cmets和我的理解:
-
setContent 将使可组合作为参数作为活动/片段的根组件传递。另一方面,setViewContent 将添加一个 FrameLayout 作为您的活动/片段的根元素,允许您在其上添加其他视图。
- 这两种方法都返回一个
Composition 对象,它只是用于通过setContent 显示内容并通过dispose 清除从组合创建的层次结构。
- 是的,在
dev14 中,您可以像这样使用AndroidView:
AndroidView(resId = R.layout.my_layout) { view ->
val textView = view.findViewById<TextView>(R.id.textView)
...
}