在Jetpack Compose UI中设置内容视图的方法

时间:2019-11-15 13:32:55

标签: android kotlin android-jetpack-compose

我有三个问题

  1. setViewContent接受composable函数作为输入参数,类似于 setContent。因此,setViewContentsetContent及其用例之间有什么区别。您可以在setViewContent包中看到androidx.compose
  2. setContentsetViewContent都返回CompositionContext?。因此,我们将使用CompositionContent的方式和用途。
  3. 有什么方法可以将现有的layout.xml与新的compose ui集成为相同活动或分段。

1 个答案:

答案 0 :(得分:1)

这是我的评论和理解:

  1. setContent将使composable作为参数传递为您的活动/片段的根组件。另一方面,setViewContent将添加一个FrameLayout作为活动/片段的根元素,使您可以在其上添加其他视图。
  2. 这两个方法都返回一个Composition对象,该对象仅用于通过setContent显示内容并通过dispose清除从组合创建的层次结构。
  3. 是的,您可以在dev14中像这样使用AndroidView
AndroidView(resId = R.layout.my_layout) { view ->
    val textView = view.findViewById<TextView>(R.id.textView)
    ...    
}