技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2022 iThome 鐵人賽
DAY
11
0
Mobile Development
Android 開發 30天 初學之路筆記
系列 第
11
篇
Day11 - Android Navigation component
14th鐵人賽
android
新手上路
ian_liu
團隊
nutc imac 老扛寶
2022-09-22 19:12:20
1023 瀏覽
分享至
簡介
Navigation優點:
可視化的頁面導航圖,便於我們快速了解頁面間的關係。
通過destination和action完成頁面間的導航
方便添加頁面切換的動畫。
提供頁面之間類型安全的參數傳遞 - Safe Args。
通過NavigationUI 對菜單(menu)、底部導航(Bottom Navigation)、抽屜(側拉)導航(Navigation drawer)進行統一的管理。
支持深層鏈接DeepLink。
支持ViewModel, 可以將ViewModel的範圍限定為導航圖, 讓目標頁面之間共享數據。
其中Navigation的主要元素有:
Navigation Graph
:一種新的xml資源文件,包含應用程式所有的頁面,以及"頁面間的關係"。
NavHostFragment
:一個特殊的Fragment,可以將它看作是其他"Fragment的容器"。
NavController
:用於在程式碼中完成Navigation Graph具體的"頁面切換"工作。
它們三者之間的關係:
當你想切換Fragment時,使用NavController物件,告訴它你想要去Navigation Graph中的哪個Fragment,NavController會將你想去的Fragment展示NavHostFragment中。
留言
追蹤
檢舉
上一篇
Day10 - Android Navigation drawer 側拉導航欄
下一篇
Day12 - RecyclerView 簡單使用
系列文
Android 開發 30天 初學之路筆記
共
30
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
26
Day26 - 子母畫面PIP (Picture in Picture)
27
Day27 - 多國語言設置 | 本地化(Localization)
28
Day28 - Jetpack DataStore (上) | Preferences DataStore
29
Day29 - Jetpack DataStore (下) | Proto DataStore
30
Day30 - 在實體手機調適APP的方法ADB | 無線
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19847
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
FortiGate SSLVPN替代方案?
AARQ 通訊協議是?
SSLVPN 轉 IPSEC VPN 的問題
Dell or Asus 伺服器,哪牌比較好?
Dell or Asus Storage 或NAS,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
iT邦幫忙如何搜尋 關鍵字?
sdray vigor2927 sslvpn ip設定問題
Qnap帳號於同一個IP反覆登入失敗.
熱門回答
FortiGate SSLVPN替代方案?
Dell or Asus 伺服器,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
iT邦幫忙如何搜尋 關鍵字?
SSLVPN 轉 IPSEC VPN 的問題
熱門文章
人工智慧模型 LLM (單一模型) 與 人工智慧代理 AI Agent(人工智慧代理)是什麼?兩者之間的關鍵差異?
c++的.h和cpp,放在相同目錄下好,還是頂層就用include,src分開好? [搬運/問答]
你的產品用了多少開源軟體?如何掌握潛在漏洞與風險?
別再只是做報表了,真正的人資資料分析是這樣做的
AI 音樂創作指令(Prompt)深度指南:解鎖主流AI 音樂生成工具的全部潛力
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}