我希望使用 Jetpack Compose 开发一个单 Activity 多 Fragment 的应用程序。对于 recyclerView,我们有 Vertical 和 HorizontalScroller。但是,对于 fragments 我该使用什么呢。
fun loadFragment(fragment: Fragment) {
val transaction:FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.f_container, fragment)
transaction.addToBackStack(null)
transaction.commit()
}
在这种情况下,我没有R.id.f_container,因为我只使用Compose创建UI。<FrameLayout
android:id="@+id/f_container"
android:layout_width="match_parent"
android:layout_height="match_parent"`enter code here`
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_constraintEnd_toEndOf="parent"
tools:layout_editor_absoluteY="-56dp">
</FrameLayout>
ViewGroup
容器。这一点不太可能改变。因此,如果您想继续使用片段,您将需要在适当的位置放置一个ViewGroup
。目前,由于Compose/view互操作性仍然是“正在进行中”的状态,这可能意味着您的片段需要进入传统布局。 - CommonsWareAndroidViewBinding
加载一个 navhost fragment(可能带有 nav graph),然后通过 Navigation 组件,您基本上也可以在此场景中导航到呈现 Compose 的片段。https://developer.android.com/jetpack/compose/migrate/interoperability-apis/views-in-compose#androidview_with_view_binding - Kevin Constantine