側邊導覽列也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu、Side Navigation等。當然Google現在已經推出類似這個效果的組件--Navigation Drawer
- Side navigation
- Fly-in app menu
- Slide out navigation
- Sliding navigation bar
- Slide menu
- ...
這種效果始於Spotify,隨後不久Evernote和Google+也開始使用。它現在已經被更多的應用採用,國外的如YouTube,Facebook,Dribbble上等等;國內人人,酷狗等等。在github網站上,已經有很多開源組件實現了這種效果:
- jfeinstein10/SlidingMenu
- Gregadeaux/android-fly-in-app-navigation
- bk138/LibSlideMenu
- darvds/RibbonMenu
- eddieringle/android-undergarment
- SimonVT/android-menudrawer
- johnkilSideNavigation
- ...
接下來再介紹另外一個開源組件:ActionBarSherlock。這個ActionBarSherlock也是大有來頭的,可以去研究研究,絕對是不錯的東西來的。在設計導航的時候,這個可以用得上,很不錯的說。因為SlidingMenu、SideNavigation的使用都要依賴這個組件,很多朋友應該也知道。
對於SlidingMenu這個組件,我在很多論壇都看有人發文章介紹過,所以大家一個不陌生了。以上提供這麼多的組件,那哪一個是你需要的呢,我覺得應該去逐一下載運行看看效果,通過比較權衡最後再決定去使用哪個或者自己參考實現。推薦大家都看看,然後研究一下實現的原理,這對於提高開發水平有很大的協助。
其實,我最關注的還是實現這個效果的思路和步驟。之前看過很多這方面的部落格,看多很多朋友的實現,有的繼承HorizontalScrollView,有的繼承ViewGroup,總體來說還是繼承ViewGroup比較正規一點,因為官方的Navigation Drawer就是這麼做的。國外的工程師Cyril Mottier在他的網站裡面,發表過三篇文章,講的就是這個方面的內容,比較深刻:
- The making of Prixing #1: Fly-in app menu
- The making of Prixing #2: Swiping the fly-in app menu
- The making of Prixing #3: Polishing the sliding app menu
總結:這個組件已不是什麼新鮮事了,通過開源組件可以很容易的整合到自己的應用裡面,不過對於想學習的朋友還是一個不錯的案例。