Android官方推薦架構元件Navigation 讓單 Activity 應用成為首選架構,更好的管理Fragment架構
Navigation目前僅AndroidStudio 3.2以上版本支援,如果您的版本不足3.2, 下載下傳AndroidStudio3.2以上版本。
官網下載下傳位址:https://developer.android.google.cn/studio/
快速開發, 元件可單獨使用,也可以同時工作。 消除樣闆 ,讓代碼Android 架構Jetpack管理乏味的活動事件,比如背景任務、導航和生命周期管理。這樣你可以專注于讓你的app更棒的東西,建構高品質、健壯的app 基于現代設計實踐,Android Jetpack元件可以減少崩潰和記憶體洩漏,且向後相容。接下來講述Navigation的使用以及如何管理多個Fragment等
項目builde.gradle檔案需配置:
implementation "androidx.navigation:navigation-fragment-ktx:2.3.0-alpha05"
implementation "androidx.navigation:navigation-ui-ktx:2.3.0-alpha05"
1.建立MainActivity和布局檔案activity_navigation布局裡配置:

activity_navigation.xml布局配置:
MainActivity裡配置:
2、建立HomeFragment、FlowStepFragment、FlowStepFragment、SettingsFragment、DeepLinkFragment在Fragment片段裡跳片段方法
方法1: view.findViewById(R.id.navigate_destination_button).setOnClickListener( Navigation.createNavigateOnClickListener(R.id.next_action) )
方法2: view.findViewById(R.id.navigate_destination_button)?.setOnClickListener { findNavController().navigate(R.id.flow_step_one_dest, null, null) }
3、在res裡建立檔案夾navigation 類型選擇Navigation,然後在這個檔案夾裡建立mobile_navigation.xml
在mobile_navigation.xml裡寫入要跳轉的各個片段Fragment及要傳遞的參數: startDestination預設第一個跳的片段id
destination跳到另外一個片段id
action 隐式跳轉 ,argType傳遞參數類型,defaultValue傳遞參數值
<?xml version="1.0" encoding="utf-8"?>
<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"
app:startDestination="@+id/home_dest">
</navigation>