The UI pattern “Side Navigation” (also called “Fly-In App Menu” or “Slide Out Navigation”) has been very famous lately. It started with Spotify and had shortly been followed by Evernote and Google+. It has now been adopted by a lot more applications such as YouTube, Facebook, Dribbble, etc.
Because of the great adoption of this navigation by the users, the company I am working for would like to implement it on one of their mobile applications.
A lot of libraries have been developed to meet this need! A good read would be Cyril Mottier’s posts about implementing this pattern:
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
All of this is good but which library to use?
To compare them, I built a sample application which includes all of these implementations:
- jfeinstein10/SlidingMenu
- Gregadeaux/android-fly-in-app-navigation
- bk138/LibSlideMenu
- darvds/RibbonMenu
- eddieringle/android-undergarment
- SimonVT/android-menudrawer
If you wish to test it, you can download the APK file or go to the GitHub page.
The comparison has been a good way for us to determine which one would best fit our need. This is briefly the notes of our reflexion:
LibSlideMenu
andRibbonMenu
are rendering a Menu Resource instead of a Layout Resource which is too limited in our case;SlidingMenu
is only working with gesture (noOnClickListener
implementation) on the contrary toandroid-fly-in-app-navigation
which doesn’t work by gesture. However, we want to have the gesture and theOnClickListener
implementation.
So, only two remains from our list of six libraries. Both of them are quite similar but we finally choose the android-menudrawer
which has a slightly better design. 🙂