Google推出Android Design Support Library有非常久的一段時間了,要設計有Material Design的APP也不是一件難事。有許多APP都有使用到Navigation View,中文有人稱為側選單,Play商店、巴哈姆特APP、Twitch App等都有使用,如下圖 ↓
側選單中需要有一些項目,所以我們在menu底下創建一個menu_navigation.xml
其中navItemOne就使用我們之前的ViewPager,第二個About-呈現此APP的資訊,第三個則為出現AlertDialog詢問是否確定登出
為About,創建一個about.xml
要呈現的畫面準備好了,再來就是我們的重點,創建一個父類別,Navigation_BaseActivity.java 在這個BaceActivity中撰寫將側邊欄放入,並針對NavigationItemClick事件進行撰寫
修改MainActivity.java繼承Navigation_BaseActivity,並設置ToolBar標題以及目前位於哪一個項目
創建About.java 讓我們來看看目前的效果
恩..看起還少了點甚麼,Navigation View通常在上方都會有一個區塊顯示帳戶ID或該APP的全名之類的,要做出那樣效果也十分容易。
設計一個navigation_drawer_header.xml
並在Navigation View中加入app:headerLayout="@layout/navigation_drawer_header"
完整效果:
參考文獻:android-navigation-drawer-with-multiple
Android帶側滑菜單和ToolBar的BaseActivity
如圖上所顯示的,導覽列有著許多的項目,如果每個項目都要重複寫一次Navigation View的程式碼,重新撰寫Item被點擊的事件,不覺是一件很浪費時間的事嗎?
今天來記錄一個Navigation View的父類別,有需要的使用Navigation View的Activity,繼承這個類別即可。
按慣例,拿上一個專案來進行修改。
先創建一個navigation_drawer.xml
側選單中需要有一些項目,所以我們在menu底下創建一個menu_navigation.xml
其中navItemOne就使用我們之前的ViewPager,第二個About-呈現此APP的資訊,第三個則為出現AlertDialog詢問是否確定登出
為About,創建一個about.xml
要呈現的畫面準備好了,再來就是我們的重點,創建一個父類別,Navigation_BaseActivity.java 在這個BaceActivity中撰寫將側邊欄放入,並針對NavigationItemClick事件進行撰寫
修改MainActivity.java繼承Navigation_BaseActivity,並設置ToolBar標題以及目前位於哪一個項目
創建About.java 讓我們來看看目前的效果
設計一個navigation_drawer_header.xml
並在Navigation View中加入app:headerLayout="@layout/navigation_drawer_header"
完整效果:
參考文獻:android-navigation-drawer-with-multiple
Android帶側滑菜單和ToolBar的BaseActivity
完整專案:Solinari GitHub