<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本篇主要介紹一下 Android Jetpack 元件 Navigation 導航元件的 基本使用
當看到 Navigation單詞的時候 應該就大概知道 這是一個關於導航用的,下面我來簡單介紹一下 如何使用Navigation元件的基本使用流程,並且一步步 實際操作一番 Navigation ,下圖是案例,實現登入到詳情的跳轉
Navigation 是一個Jetpack元件 支援使用者導航,用於在 Android 應用中的“目標”之間進行導航,無論 目標是Fragment,Activity 還是其他元件。
導航元件由以下三個關鍵部分組成:
NavHost
:顯示導航圖中目標的空白容器。導航元件包含一個預設 NavHost
實現 (NavHostFragment
),可顯示 Fragment 目標。NavController
:在 NavHost
中管理應用導航的物件。當用戶在整個應用中移動時,NavController
會安排 NavHost
中目標內容的交換。簡單點 下面直接來操作一下 來體驗一下Navigation 的使用流程
簡單點 只需要設定 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" }
導航圖是一種資原始檔,其中包含您的所有目的地和操作。該圖表會顯示應用的所有導航路徑。
向專案新增導航圖,請執行以下操作:
res
目錄,然後依次選擇 New > Android Resource File。此時系統會顯示 New Resource File 對話方塊。當您新增首個導航圖時,Android Studio 會在 res
目錄內建立一個 navigation
資源目錄。該目錄包含您的導航圖資原始檔(例如 nav_graph.xml
)。
新建完成後 就自動 在 res 下面生成 navigation目錄,裡面存放上面新建的 導航圖
點選上面的選單 + 就可以新建 destination 了
新建了2個 fragment ,一個是 loginFragment 一個是 welcomeFragment
把他們兩個連起來 從 loginFragment 到 welcomeFragment ,會自動生成一個 action
順便稍微美化一下 loginFragment 和 welcomeFragment
導航宿主NavHost 是 Navigation 元件的核心部分之一。導航宿主是一個空容器,使用者在您的應用中導航時,目的地會在該容器中交換進出。
導航元件包含一個預設 NavHost
實現 (NavHostFragment
下面在MainActivity 中新增一個 NavHostFragment
拖入 Activity中 它會自動展示出可用的 Navigation Graph 導航圖,就是上面建立的 my_nav_graph,選擇它即可
navController.navigate(R.id.action_loginFragment_to_welcomeFragment,bundle);
核心程式碼如下,就是獲取 輸入的使用者名稱和密碼 並且攜帶使用者名稱 導航到 welcomeFragment
很簡單就是把 loginFragment 傳入的引數 username 獲取到 展示在TextView 上即可
注意:通過 getArguments() 去獲取 Bundle 的引數
最終效果如下:
本篇主要簡單介紹了一下 Navigation 是什麼 以及使用它的流程是什麼,並且結合實際案例 操作了一番,Navigation 還有很多其他用法,如條件導航、巢狀圖、過度動畫 等等功能 有機會再操作
到此這篇關於Android Jetpack Navigation基本使用的文章就介紹到這了,更多相關Android Jetpack Navigation使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45