Request a FREE Quote

Android Jetpack包含一组库 & 组件构建一个完美的应用程序,导航组件是其中的一部分. Let’s learn about Android导航组件 以及如何与导航组件集成. 导航组件通过定义导航目的地和操作的图来工作. 它提供了一组api和工具,可以定义和管理应用程序屏幕或目的地之间的导航路径. 该库提供了许多好处,包括
Also Read: 是什么让Android即时应用如此受欢迎?
导航组件有三个模块:
只需在模块级构建的依赖项中添加以下代码.gradle file.
def nav_version = "2.2.2"
// Java语言实现
实现“androidx.导航:navigation-fragment: $ nav_version”实现“androidx.导航:导航ui: $ nav_version”
// Kotlin
实现“androidx.导航:navigation-fragment-ktx: $ nav_version”
实现“androidx.导航:navigation-ui-ktx: $ nav_version”
首先,我们需要创建一个包含导航图的文件. 在res目录中执行以下步骤:
这将用nav_graph创建一个空白的资源文件.导航目录中的XML文件名.
For an example, 这里我们创建了一个示例应用程序,其中包含两个不同的片段,分别名为FirstFragment和SecondFragment. 当单击FirstFragment按钮时,它将引导您到SecondFragment.
我们在下面的导航图中定义了片段.
可以将NavHost设想为一个可以设计屏幕的空间, 在NavController的帮助下, 您可以在NavHost内的不同屏幕之间移动.
NavHost中的每个屏幕都链接到一个特定的路由, 哪个可以在屏幕之间导航. 下面是一个NavHost的示例:
val navController = memorbernavcontroller ()
NavHost(
navController = navController;
startDestination = "first_screen"
) {
可组合(“first_screen”){
// first screen
}
可组合(“second_screen”){
// second screen
}
}
这里根标签命名为navigation, 有app:startDestination参数包含第一个片段的id.
这个定义了在NavHostFragment中,第一个片段将被自动加载.
我们已经为第一个片段定义了一个动作,属性如下:
android: id =“@ + id / nav_first_fragment”
应用:目的地= " @ id / nav_second_fragment”
在每个操作中都应该有一个唯一的id,我们需要它来导航到目的地.
我们在导航图中定义了app:destination中第二个片段的id,并使用此操作将导航到第二个片段.
完成这些步骤后,切换到nav_graph中的design选项卡.Xml,它应该看起来像下面给出的图表.
Read More: Kotlin for Android
我们有多种方式来导航使用导航组件
button.setOnClickListener
{
findNavController().navigate(R.id.nav_second_fragment)
}
button.setOnClickListener(导航.createNavigateOnClickListener(右.id.nav_second_fragment, null))
button.setOnClickListener {
findNavController().navigate(R.id.action_first_to_second)
}
我们所需要做的就是定义NavHostFragment,这个小部件将显示我们在导航图中定义的不同目的地. 加载FirstFragment, 我们需要复制下面给出的代码,并粘贴在活动的布局.
android: name = " androidx.navigation.fragment.NavHostFragment"
定义由NavController使用的NavHostFragment
应用:defaultNavHost = " true "
被称为NavHost,拦截和工作作为后退按钮.
应用:navGraph = " @navigation / app_navigation”
将NavHostFragment与导航图关联. 在这个NavHostFragment中,导航图指定了我们可以导航到的所有目的地.
When you run the app, FirstFragment将自动加载并点击按钮, 它将重定向到SecondFragment. 当按下从SecondFragment返回按钮时,您将被重定向回FirstFragment.
以上就是,希望您对导航体系结构组件有了一定的了解.
Also Check: 革命性的移动应用程序开发与Kotlin多平台
您是否正在与导航架构组件作斗争? 您来对地方了,我们为广大行业提供服务 Android应用开发解决方案. 与我们联系,从我们的 seasoned developers.