最近在准备向同事分享Android Studio 3.2的更新内容,看到了Navigation组件,挺有意思,便写一个Demo。
Navigation大概的功能是更方便地实现了各个组件的跳转。下面是实现跳转的Demo。
源码:GitHub地址
主要的实践有以下步骤:
- 开启Navigation编辑器
- 添加Navigation引用
- 创建Fragment或Activity的layout
- 创建Navigation Resource File并生成跳转的Action
- 应用Navigation Resource File到Activity
- 使用跳转Action实现跳转
由于Navigation组件目前是测试版本,所以让AS支持Navigation的编辑还需要在设置里开启编辑器。如下
之后,在app模块对应的build.gradle里加入引用
dependencies {
def nav_version = "1.0.0-alpha06"
implementation "android.arch.navigation:navigation-fragment:$nav_version"
// use -ktx for Kotlin
implementation "android.arch.navigation:navigation-ui:$nav_version"
// use -ktx for Kotlin
// optional - Test helpers
androidTestImplementation "android.arch.navigation:navigation-testing:$nav_version"
// use -ktx for Kotlin
}
开启编辑器且加入引用后,需要重启AS。
按需要创建若干个Fragment,每个Fragment的layout要加上tools:context属性,值为这个layout对应Fragment或Activity类。
我们知道,tools命名空间是用来在开发时给IDE作预览和编辑用的,这里对layout加入tools:context的属性便是让Android Studio知道这一个layout是对应哪一个Fragment或Activity,随后Android Studio的Navigation编辑器才能根据这些属性加载出各个界面给我们做视图化的操作。
随后便是进入视图化的编辑操作了。
上面的编辑器,各处意义如下:
- 1处为增加界面
- 2处便是界面的列表(我们加了tools:context属性的layout将会出现在这个列表里)</