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

ama*_*995 6 android kotlin android-jetpack-compose

我有三个问题

  1. 有一个类似于 的 setViewContent接受函数作为输入参数。那么,和及其用例之间有什么区别。你可以在包里看到。composablesetContentsetViewContentsetContentsetViewContentandroidx.compose
  2. setContent并且setViewContent都返回CompositionContext?。那么,我们将如何使用CompositionContent.
  3. 有什么方法可以将现有的layout.xml与新的集成到同一compose ui活动或片段中。

ngl*_*ber 2

以下是我的评论和我的理解:

  1. setContent将使可组合项作为参数作为活动/片段的根组件传递。另一方面,setViewContent将添加一个FrameLayout作为活动/片段的根元素,允许您在其上添加另一个视图。
  2. 两种方法都返回一个Composition对象,据我所知,它仅用于显示内容 viasetContent并清除从组合创建的层次结构 via dispose
  3. 是的,你可以这样dev14使用:AndroidView
AndroidView(resId = R.layout.my_layout) { view ->
    val textView = view.findViewById<TextView>(R.id.textView)
    ...    
}
Run Code Online (Sandbox Code Playgroud)