Creación de "menús voladores" (estilo app de Facebook) en Android

50 views
Skip to first unread message

Adrián Moreno Peña

unread,
May 29, 2012, 11:35:37 AM5/29/12
to galicia-mobi...@googlegroups.com
Hola,

el otro día en la quedada estuvimos comentando sobre el nuevo estilo de menú que está popularizando Facebook, que se puede esconder dejando sólo "un trozo" a la vista.

Hoy he visto un par de posts de Cyril Mottier, el creador de la librería Greendroid, que pueden ser muy interesantes si vais a montar algo del estilo:

En ellos explica de forma muy completa el camino que le llevó al desarrollo de la app de Prixing (https://play.google.com/store/apps/details?id=fr.epicdream.beamy), que la verdad es que quedó muy muy bien. Lo explica muy en detalle, así que no es tanto un "howto", sino un estudio a fondo de la mejor manera de implementarlo... Espero que os resulte interesante :-)

Alberto Alonso Ruibal

unread,
May 30, 2012, 5:19:27 AM5/30/12
to galicia-mobi...@googlegroups.com
Yo no lo hago con un scroller, son dos viewgroups (content y sidebar) dentro de un relativelayout y tengo un método que las reposiciona llamando a view.layout:

/**
* @param pos
*            0->menu hidden 1->menu shown
*/
private void setLayoutPosition(float pos) {
int contentX = (int) (pos * (content.getMeasuredWidth() - buttonWidth));
content.layout(contentX, 0, contentX + content.getMeasuredWidth(), content.getMeasuredHeight());

int menuX = (int) (-buttonWidth * 1.5 * (1 - pos));
sidebar.layout(menuX, 0, menuX + sidebar.getMeasuredWidth(), sidebar.getMeasuredHeight());
}

y la animación la controlo con un handler que se llama así mismo. De todas formas lo más complejo no es la animación en si, sino retirar el anuncio de pantalla (quitándolo del layout) antes de comenzar la animación ya que daba varios problemas si dejábamos el anuncio en pantalla. Si alguien quiere a hacerlo en Android le mando mi código completo. El código no quiero hacerlo público mientras el plagiador de gasolineras no se tranquilice :D
Reply all
Reply to author
Forward
0 new messages