Android Jetpack Navigation 搭载 BottomNavigationView

status
category
date
summary
slug
icon
tags
password

Jetpack Navigation

去年的Google I/O大会上,Google推出了Android Jetpack架构组件,Navigation就是其中之一。 本文主要介绍Navigation与BottomNavigationView的简单搭配使用,最后的效果就是这样:
notion image
注意:Android Studio版本需要在3.2及以上

创建Activity

上图是在一个Activity中显示了3个Fragment,第一步是创建这几个Fragment的容器。
activity_main.xml:

fragment

  • android:name="androidx.navigation.fragment.NavHostFragment"app:defaultNavHost="true"指定了,在按back键时会返回到NavHostFragment
  • app:navGraph="@navigation/nav_graph"为这个fragment组件指定了navGraph文件

BottomNavigationView

  • app:menu="@menu/navigation"指定了底部导航栏的菜单配置选项
  • 这里库使用的是material而不是design,是因为采用了AndroidX
    • notion image

      配置menu文件

  1. res目录下新建menu文件夹
  1. menu目录中,新建Menu resource file
  1. text标签中修改代码:

配置navigation graph

  1. res目录下新建navigation文件夹
  1. navigation目录下,新建Navigation resource file
  1. 添加所需要导航的Fragment,注意不需要添加Action,不需要连接箭头
  1. 将每个Fragment对应的ID,修改为menu文件中item对应的ID(最重要的一步)
notion image
最终的 nav_graph.xml :

适配BottomNavigationView

MainActivity.java中:
注意:NavigationUI.setupWithNavController()方法,只有在onCreate()中调用才有效
Loading...

© 刘口子 2018-2025