侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu、Side Navigation等。当然谷歌现在已经推出类似这个效果的组件--Navigation Drawer
- Side navigation
- Fly-in app menu
- Slide out navigation
- Sliding navigation bar
- Slide menu
- ...
这种效果始于Spotify,随后不久Evernote和谷歌+也开始使用。它现在已经被更多的应用采用,国外的如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
总结:这个组件已不是什么新鲜事了,通过开源组件可以很容易的集成到自己的应用里面,不过对于想学习的朋友还是一个不错的案例。