android - 在 Jetpack Compose UI 中设置内容视图的方法
问题描述
我有三个问题
- 有
setViewContent
哪个接受composable
函数作为输入参数,类似于setContent
.setViewContent
那么, andsetContent
和它的用例之间有什么区别。您可以setViewContent
在androidx.compose
包装中看到。 setContent
并且setViewContent
都返回CompositionContext?
。因此,我们将如何使用CompositionContent
.- 有没有办法将现有的
layout.xml
与新compose ui
的整合到相同的活动或片段中。
解决方案
以下是我的评论和我的理解:
setContent
将使可组合作为参数作为您的活动/片段的根组件传递。另一方面,setViewContent
将添加一个FrameLayout
作为您的活动/片段的根元素,允许您在其上添加另一个视图。- 这两种方法都返回一个
Composition
对象,afaik,它仅用于显示内容 viasetContent
并清除从组合中创建的层次结构 viadispose
。 - 是的,
dev14
你可以AndroidView
这样使用:
AndroidView(resId = R.layout.my_layout) { view ->
val textView = view.findViewById<TextView>(R.id.textView)
...
}
推荐阅读
- docker - How to check which version docker image is built upon
- android - Android TabLayout 与 Viewpager 内部 CoordinateLayout 与 BottomAppBar
- reactjs - Setting a state variable in react-dropzone `onDrop`, after reading with exceljs
- reactjs - NextJs 和 Create React App 有什么区别
- javascript - If "fn = new Fn()", why changing Fn.prototype after fn instantiation doesn't change fn.__proto__?
- compression - What are the cases where it'll be useful to compress already compressed data?
- mysql - 如何计算 2 个表格中的库存
- python - Flask and Python: dynamically printing table on clicking a value from dropdown
- c++ - How to move compile-time logic to client code
- typescript - Testing React Native Firebase/Firestore + Typescript with jest on windows machine