欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android?Jetpack組件Navigation導(dǎo)航組件的基本使用

 更新時間:2022年06月16日 15:37:38   作者:Aska小強  
本篇主要簡單介紹了一下?Navigation?是什么?以及使用它的流程是什么,并且結(jié)合實際案例?操作了一番,Navigation?還有很多其他用法,如條件導(dǎo)航、嵌套圖、過度動畫?等等功能?有機會再操作,需要的朋友可以參考下

本篇主要介紹一下 Android Jetpack 組件 Navigation 導(dǎo)航組件的 基本使用

當(dāng)看到 Navigation單詞的時候 應(yīng)該就大概知道 這是一個關(guān)于導(dǎo)航用的,下面我來簡單介紹一下 如何使用Navigation組件的基本使用流程,并且一步步 實際操作一番 Navigation ,下圖是案例,實現(xiàn)登錄到詳情的跳轉(zhuǎn)

1.Navigation 基本概念

Navigation 是一個Jetpack組件 支持用戶導(dǎo)航,用于在 Android 應(yīng)用中的“目標”之間進行導(dǎo)航,無論 目標是Fragment,Activity 還是其他組件。

導(dǎo)航組件由以下三個關(guān)鍵部分組成:

  • 導(dǎo)航圖:在一個集中位置包含所有導(dǎo)航相關(guān)信息的 XML 資源。這包括應(yīng)用內(nèi)所有單個內(nèi)容區(qū)域(稱為目標)以及用戶可以通過應(yīng)用獲取的可能路徑。
  • NavHost:顯示導(dǎo)航圖中目標的空白容器。導(dǎo)航組件包含一個默認 NavHost 實現(xiàn) (NavHostFragment),可顯示 Fragment 目標。
  • NavController:在 NavHost 中管理應(yīng)用導(dǎo)航的對象。當(dāng)用戶在整個應(yīng)用中移動時,NavController 會安排 NavHost 中目標內(nèi)容的交換。

簡單點 下面直接來操作一下 來體驗一下Navigation 的使用流程

2.Navigation 使用入門

2.1 添加Navigation依賴

簡單點 只需要設(shè)置 navigation-fragment 和 navigation-ui 即可

dependencies {
  def nav_version = "2.4.2"
?
  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"
?
  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
?
  // Feature module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
?
  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
?
  // Jetpack Compose Integration
  implementation "androidx.navigation:navigation-compose:$nav_version"
}

2.2 創(chuàng)建導(dǎo)航圖

導(dǎo)航圖是一種資源文件,其中包含您的所有目的地和操作。該圖表會顯示應(yīng)用的所有導(dǎo)航路徑。

向項目添加導(dǎo)航圖,請執(zhí)行以下操作:

  • 在“Project”窗口中,右鍵點擊 res 目錄,然后依次選擇 New > Android Resource File。此時系統(tǒng)會顯示 New Resource File 對話框。
  • File name 字段中輸入名稱,例如“nav_graph”。
  • Resource type 下拉列表中選擇 Navigation,然后點擊 OK

當(dāng)您添加首個導(dǎo)航圖時,Android Studio 會在 res 目錄內(nèi)創(chuàng)建一個 navigation 資源目錄。該目錄包含您的導(dǎo)航圖資源文件(例如 nav_graph.xml)。

新建完成后 就自動 在 res 下面生成 navigation目錄,里面存放上面新建的 導(dǎo)航圖

2.3 導(dǎo)航圖中添加目的地Fragment

點擊上面的菜單 + 就可以新建 destination 了

新建了2個 fragment ,一個是 loginFragment 一個是 welcomeFragment

把他們兩個連起來 從 loginFragment 到 welcomeFragment ,會自動生成一個 action

順便稍微美化一下 loginFragment 和 welcomeFragment

2.4 Activity添加 NavHost

導(dǎo)航宿主NavHost 是 Navigation 組件的核心部分之一。導(dǎo)航宿主是一個空容器,用戶在您的應(yīng)用中導(dǎo)航時,目的地會在該容器中交換進出。

導(dǎo)航組件包含一個默認 NavHost 實現(xiàn) (NavHostFragment

下面在MainActivity 中添加一個 NavHostFragment

拖入 Activity中 它會自動展示出可用的 Navigation Graph 導(dǎo)航圖,就是上面創(chuàng)建的 my_nav_graph,選擇它即可

2.5 LoginFragment 代碼編寫

navController.navigate(R.id.action_loginFragment_to_welcomeFragment,bundle);

核心代碼如下,就是獲取 輸入的用戶名和密碼 并且攜帶用戶名 導(dǎo)航到 welcomeFragment

2.6 welcomeFragment 代碼編寫

很簡單就是把 loginFragment 傳入的參數(shù) username 獲取到 展示在TextView 上即可

注意:通過 getArguments() 去獲取 Bundle 的參數(shù)

最終效果如下:

總結(jié)

本篇主要簡單介紹了一下 Navigation 是什么 以及使用它的流程是什么,并且結(jié)合實際案例 操作了一番,Navigation 還有很多其他用法,如條件導(dǎo)航、嵌套圖、過度動畫 等等功能 有機會再操作

到此這篇關(guān)于Android Jetpack Navigation基本使用的文章就介紹到這了,更多相關(guān)Android Jetpack Navigation使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論