He jugado con esto yo mismo, y la mejor manera que pude encontrar fue usar un FrameLayout y colocar un HorizontalScrollView (HSV) personalizado en la parte superior del menú. Dentro del HSV están las Vistas de su aplicación, pero hay una Vista transparente como primer hijo. Esto significa que, cuando el HSV tiene desplazamiento de desplazamiento cero, el menú se mostrará (y aún se puede hacer clic sorprendentemente).
Cuando se inicia la aplicación, desplazamos el HSV hasta el desplazamiento de la primera Vista visible de la aplicación, y cuando queremos mostrar el menú, retrocedemos para revelar el menú a través de la Vista transparente.
El código está aquí, y los dos botones inferiores (llamados HorzScrollWithListMenu y HorzScrollWithImageMenu) en la actividad de Inicio muestran los mejores menús que se me ocurrieron:
Demostración del menú deslizante de Android
Captura de pantalla del emulador (desplazamiento medio):
Captura de pantalla del dispositivo (desplazamiento completo). Tenga en cuenta que mi ícono no es tan ancho como el ícono del menú de Facebook, por lo que la vista del menú y la vista de la 'aplicación' no están alineadas.