轉載請註明出處 [www.jianshu.com/p/c4697590e…]
介紹
之前分別介紹了Android Studio3.3更新之後的Android Studio3.3的介紹 以及Android Studio3.3的使用 在更新之後,其中還有一大亮點就是Navigation Editor(導航編輯器)
Navigation
說到Navigation Editor我們就不得不先簡單說一下Navigation(導航)
什麼是Navigation
在Android開發當中,導航是指允許使用者再應用內進入和退出不同內容的互動元件。而我們通過 Android Jetpack的導航元件可以幫助我們實現導航功能。導航元件還能可能遵循既定的原則來保證使用者有一個良好的使用者體檢。
導航元件的構成
導航元件由三個關鍵的部分組成:
- Navigation graph(導航圖): 這是一個包含所有位置導航相關資訊的XML資原始檔。這裡包括應用程式當中的所有單獨的內容區域(被稱為目標檢視),以及連線在應用程式當中各個“目標”的路徑。
- NavHost: 一個用於展示導航圖當中目標檢視的空的容器。Navigation元件包含一個實現NavHostFragment的預設的NavHost,它是用來展示fragment的目的地。
- NavController: 管理NavHost中的應用程式導航的物件。 當使用者在整個應用程式中移動時,NavController會協調NavHost中目標內容的交換。
當我們通過導航瀏覽我們的應用程式的時候,我們可以通知NavController我們要沿著導航圖當中的特定的路徑進行導航,或者直接導航到特定的目的地。接下來NavController可以在NavHost當中顯示出適當的目標檢視。
導航元件有很多的好處:
- 可以處理fragment的事務。
- 預設情況下可以正確的處理好各個事物之間前後的操作。
- 可以供標準化的過渡動畫資源。
- 實現和處理深度連結。
- 涵蓋了一些導航UI模式,比如只需要很少的額外工作就能實現抽屜導航和底部導航。
- Safe Args - 一種Gradle外掛,可在目的地之間導航和傳遞資料時提供安全的資料型別。