当前位置: 首页 > 知识库问答 >
问题:

使用Jetpack导航组件

袁宜
2023-03-14

共有1个答案

邵耀
2023-03-14

根据您的要求创建导航:

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mobile_navigation"
    app:startDestination="@+id/nav_home">

    <fragment
        android:id="@+id/nav_share"
        android:name="com.package.share.ShareFragment"
        android:label="@string/menu_share"
        tools:layout="@layout/fragment_share" />

    <fragment
        android:id="@+id/nav_send"
        android:name="com.package.SendFragment"
        android:label="@string/comments"
        tools:layout="@layout/fragment_send" />
</navigation>

并使用相应的菜单和导航到片段

<fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:navGraph="@navigation/user_navigation" />

现在找到您的nav主机片段并设置您的配置...

希望这有助于.........快乐编码

 类似资料:
  • 如何从Jetpack撰写屏幕转到fragment,从fragment转到Jetpack编写屏幕?我用喷气背包组成导航?有什么帮助吗?

  • 我有一个关于底部导航栏的奇怪问题,虽然我花了大量时间在它上面,但我无法解决。当我以“推荐”的方式(从许多教程中)使用它时,它就是无法导航。 那么,我所说的“推荐”方式是什么意思呢:我有一个单独的acticity,其中有一个名为“MainActivity”的navHostFragment。这个主要活动有一个XML布局文件,我将底部导航栏放在其中。BottomNavigationBar还有一个XML布

  • 我正在使用带有4个可组合的。他们都有一个,中的每个项目都有一个使用Coil for Jetpack Compose从网络填充的图像。类似于Twitter / YouTube。 当我在这些项目之间导航时,可组合物会被销毁,只有在导航回它们时才会重新组合。当在这些可组合物之间导航时,甚至线圈图像也会被清除并重新获取(从内存或本地存储中)。这当然是预期的行为。 问题是这会导致它们之间的导航速度太慢。每次

  • 我正在尝试在我现有的应用程序中使用Jetpack的架构组件实现导航。 我有一个单一的活动应用程序,其中主要片段(。因此,当按下back时,将分离细节片段,并再次显示ListFragment。 对于导航架构,这是自动处理的。不是添加它被替换的新片段,因此片段视图被销毁,而是在按下back以重新创建视图时调用和。 我知道这是一个很好的模式,用于LiveData和ViewModel,以避免使用超过必要的

  • 到目前为止,我已经成功地导航到对话框并仅使用导航组件返回。问题是,我必须在对话框中做一些事情,并将结果返回到调用对话框的片段。 一种方法是使用共享viewmodel。但我必须使用。(活动)这让我的应用程序占用了一个单独的内存,即使我不再需要它。 另一种方法是覆盖show(framentManager, id)方法,访问片段管理器并从中访问先前的片段,然后将其设置为目标片段。我以前使用过目标片段方法

  • 我正在一个新的Android应用程序上使用导航组件,但我不知道怎么做 首先,我有我的主活动,我有main_navigation_graph 主要活动 NavHostFragment main_navigation_graph里面有3个碎片 这里一切都很好。问题是当我到达最后一个片段时,因为在这个片段上,我想根据BottomNavigationView输入(暂时)显示一些子片段(在新的NavHost