標籤:google 控制項 ref 內容 都差不多 簡介 http cbe 版本相容
http://www.jianshu.com/p/c8cbeb7ea43a
用Navigation Drawer 和 Navigation View 來實現左右側滑
Activity裡甚至什麼都不用寫
NavigationDrawer 簡介
NavigationDrawer 是 Google 在 Material Design 中推出的一種側滑導覽列設計風格。說起來可能很抽象,我們直接來看看 網易雲音樂 的側滑導覽列效果
Google 為了支援這樣的導航效果,推出一個新控制項 —— DrawerLayout 。而在 DrawerLayout 沒誕生之前,需求中需要實現側滑導航效果時,我們必然會選擇去選擇一些成熟的第三方開源庫(如最有名的 SlidingMenu)來完成開發 。
在對比過 DrawerLayout 和 SlidingMenu 的實現效果後,基於以下的幾點,我認為完全可以在開發中使用 DrawerLayout 取代以前的 SlidingMenu:
- 從動畫效果上看,你會發現兩者僅僅是在移動的效果上有些差別外,其他地方並沒有太大的差異
- 在互動效果上,我認為這兩者都差不多的,就算你把 網易雲音樂 的效果套到了 手Q 上,也不會影響到使用者的互動
- DrawerLayout 用起來比 SlidingMenu 更簡單,代碼量更少(往下看就知道了)
- DrawerLayout 是向下相容的,所以不會存在低版本相容性問題
- Google 親兒子,沒理由不支援啊!!!!!!
到這裡,要是你還沒有引入 DrawerLayout 開發的衝動,請繼續聽我為你好好安利一番。
一般情況下,在
DrawerLayout 布局下只會存在兩個子布局,一個
內容布局 和 一個
側滑菜單布局,這兩個布局關鍵在於
android:layout_gravity 屬性的設定。如果你想把其中一個子布局設定成為左側滑菜單,只需要設定
android:layout_gravity="start" 即可(也可以是 left,右側滑則為 end 或 right ),而沒有設定的布局則自然成為
內容布局 。
再識 NavigationView
在 Google 推出 NavigationDrawer 設計中,NavigationView 和 DrawerLayout 是官方推薦的最佳組合。在使用 NavigationView 前,因為它是在 Material Design 的相容包中,所以需要先在 build.gradle 中引入
compile ‘com.android.support:design:23.1.1‘
ActionBarDrawerToggle
實現返回圖片和動畫效果
http://blog.csdn.net/chencehnggq/article/details/21492417
http://blog.csdn.net/zxm317122667/article/details/50989346
ActionBarDrawerToggle就是DrawerLayout事件的監聽器
ActionBarDrawerToggle有3個方法可以被複寫,分別用來實現DrawerLayout開啟,關閉,滑動的事件監聽:
onDrawerOpened DrawerLayout滑出時調用
onDrawerClosed DrawerLayout關閉時調用
onDrawerSlide DrawerLayout滑動時調用
Android - Navigation Drawer