我最近一直在研究Android使用的導航系統,意在移植使用UITabBarController
的iOS應用程序,其中包含多個UINavigationController
。要替換標籤欄(Android上不可用),我決定使用內置的DrawerLayout
。Android上的導航層次結構?
從我讀過的內容來看,Android中的導航通常是通過創建一個Intent
來完成的,它提供額外功能,然後替換當前活動。這會自動確保後退按鈕可用,並且可以選擇左上角的後退按鈕(如果啓用)。
但是,我不知道如何實現這種與the navigation drawer導航的方式。本教程告訴我創建一個DrawerLayout
,其中包含FrameLayout
和ListLayout
,其中FrameLayout
將包含實際應用程序,而ListLayout
將包含導航。這意味着當我使用上述方法「導航」時,它將取代活動並因此取出抽屜。
什麼是最好的方式來實現我想要的(帶有後退按鈕支持的基本導航,同時保持全局抽屜導航菜單)?我可以提出的可能選項始終保持相同的活動並動態替換FrameLayout
,但這意味着需要渲染大量樣板並可能需要黑客來支持後退按鈕(並且不會有動畫:()。另一種選擇是在每個活動上渲染抽屜(通過子類化或其他),但這意味着如果用戶導航很多,後退按鈕「堆棧」將變得相當大。
我試過基本上,我想要類似於UITabBarController
中的UINavigationController
。
我建議使用android工作室模板的應用程序與導航抽屜,您可以使用片段作爲主要組件來顯示內容。後退按鈕的行爲是可定製的,您不必將每個碎片事務提交給後臺堆棧。 – dominik4142 2015-04-04 17:55:24