The flyout menu has become a good practice, on the both main mobile platform: Android and iOS. And on bot, there is a native implementation of it available.
At work, I had to use this control, for an android project…. build with the Xamarin tool. After a short time of searching, I found the very good implementations for this flyout menu. Here are the links:
– http://blog.neteril.org/blog/2013/04/19/fly-out-menu-xamarin-android/
– http://motzcod.es/post/60427389481/effective-navigation-in-xamarin-android-part-1
Both wasn’t appropriate for my project. The first doesn’t support older versions of android (Android 4.x required).
The second one, was much better, because it support older versions (tested on Android Gingerbread 2.3.3). However, this implementation (which is also available on github: https://github.com/jamesmontemagno/Xam.NavDrawer) have the trigger for the flyout menu placed on the app icon (in the upper left corner), which was not useful in my case.
So here is what I did. I took the source of the second example (https://github.com/jamesmontemagno/Xam.NavDrawer) and change it in a way, that the flyout trigger is a button placed in the upper right corner. See the pictures below.
I also put my implementation of this on github, so everyone can use it: https://github.com/deanpodgornik/xamarin-flyout-menu
Cheer