写这个系列文章的原因在于:自己作为一个新人小白,对于android jetpack组件的学习处于一个初入门的阶段。在网上也找了很多的教程,但是大多数都讲解的比较深奥,或者说版本比较老,很多东西不适用于现在。所以想要写一个纯小白文,加强自己对知识点的掌握,也希望能够帮助其他新人学习者。
通过这篇文章你可以学习到怎样通过navigation实现多个fragment页面之间的转跳(学不会拿板砖来找我=-=)
更多别的功能放在后续文章继续讲解
纯Kotlin
- 首先第一步的话,还是和其他组件一样,需要引入相关的依赖包
implementation(“androidx.navigation:navigation-fragment-ktx:2.4.2”)
implementation(“androidx.navigation:navigation-ui-ktx:2.4.2”)
-
既然要实现fragment之间的转跳,那肯定少不了fragment呀
创建两个fragment并与对应的xml文件进行绑定(这个应该很简单可以实现)
page1
//这是第一个fragment 也是我们展示出来的fragment,取名叫做MainPage1Fragment
class MainPage1Fragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
//创建对应的xml文件 fragment_page1 并进行对应的绑定
return inflater.inflate(R.layout.fragment_page1,container,false)
}
}
page2
//这是第一个fragment 跳转进入的界面
class MainPage2Fragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
//对应的xml布局取名fragment_page2
return inflater.inflate(R.layout.fragment_page2,container,false)
}
}
page1_xml
page2_xml
- 接下来在项目中添加导航图
在“Project”窗口中,右键点击 res 目录,然后依次选择 New > Android Resource File。此时系统会显示
NewResource File 对话框。 在 File name 字段中输入名称,例如“nav_graph”。 从 Resource
type 下拉列表中选择 Navigation,然后点击 OK。
这一步其实理解成添加一个navigation,然后我们可以在里面进行一些逻辑上的操作,比如说跳转逻辑等等
- 在导航图中实现跳转逻辑
直接上代码
- 最后在MainActivity.xml中引入导航图
- 最后分别在两个fragment中增加按钮的转跳逻辑,整个代码就大功告成
=======================================================================================
其实如果单纯的想要使用navigation设置两个页面之间的转跳功能的话,逻辑是很清晰的
首先创建两个转跳的fragment界面,然后创建一个导航图,导航图中再实现相关的转跳逻辑,最后在main.xml文件中实现导航图的加载,就完成了



