从 Jetpack Compose 导航到 Fragment 以及从 Fragment 导航到 Jetpack Compose 屏幕

Mus*_*lah 9 android kotlin android-jetpack-compose

如何从 Jetpack 撰写屏幕转到 Fragment 以及从 Fragment 转到 jetpack 撰写屏幕?我使用jetpack 撰写导航?有什么帮助吗?

Fra*_*esc 23

如果您有一个同时具有撰写和查看系统片段的混合应用程序,那么建议将所有可组合屏幕托管在片段中并使用片段导航。当您准备好全面使用撰写时,您可以切换到撰写导航。

请参阅以供参考。


Dan*_*ato 6

是 Google 推荐的做法。

  1. 启用视图绑定

  2. 确保您的 Activity 是 AppCompatActivity

  3. 为片段容器创建布局:

     <androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/fragment_container_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:name="com.example.compose.snippets.interop.MyFragment" />
    
    Run Code Online (Sandbox Code Playgroud)
  4. 确保您已声明 compose 视图绑定依赖项androidx.compose.ui:ui-viewbinding

  5. 创建包含片段的可组合项:

     @Composable
     fun FragmentInComposeExample() {
         AndroidViewBinding(MyFragmentLayoutBinding::inflate) {
             val myFragment = fragmentContainerView.getFragment<MyFragment>()
             // ...
         }
     }
    
    Run Code Online (Sandbox Code Playgroud)

  • Google 不再推荐数据绑定。请改用 ViewBinding。 (3认同)