2011-03-17 27 views
10

Cuando inicias Angry Birds y presionas play, se te muestra un menú de desplazamiento horizontal con una línea centrada de imágenes que una vez que hayas hecho clic puedes comenzar el juego y lo que no. Me preguntaba cómo hacer un menú similar a este en que se desplaza hacia los lados (horizontalmente) y muestra imágenes tappables? ¡Gracias por adelantado!Angry Birds como menú desplegable

Respuesta

7

Me gustaría pensar que se puede lograr esto con HorizontalScrollView. El hijo de su HorizontalScrollView será un LinearLayout con orientación: horizontal. Contendrá ImageViews o ImageButtons. Para lograr el efecto de 'ajuste instantáneo' que el de Angry Birds, debe establecer un onTouchListener() para su vista de desplazamiento, y dentro de la sección ACTION_UP debe verificar hScrlView.getScrollX() para ver qué imagen usted está más cerca de, luego llame a hScrlView.scrollTo (x, y) y haga que el parámetro x sea el valor x de la imagen más cercana.

Editar: Nunca utilicé personalmente un GalleryView pero basado en this tutorial parece que probablemente podría hacerlo funcionar de esa manera. Y podría manejar la mecánica 'complemento' para usted, por lo que no tendría que hacer que su propio oyente toque para hacer eso. No estoy seguro de si puede establecer espacio entre las imágenes (las imágenes de Angry Birds se extienden un poco) en una galería, lo cual estoy seguro de que puede hacer si usa HorizontalScrollView y un diseño lineal o relativo.

+0

Gracias. ¿Qué tal una vista de galería? ¿Crees que eso funcionaría? –

+0

ver mi respuesta editada. – FoamyGuy

+0

Eso probablemente funcionaría aunque todavía podría tratar de poner un marco a su alrededor. Podrías hacer del parche transparente un parche 9 de esa manera puedes jugar con lo grande que quieras sin crear un png nuevo cada vez. Me imagino que la Galería tiene una opción que no usará el marco también. – FoamyGuy

0

no he sido capaz de encontrar la manera de hacer esto por mí mismo, pero este artículo es un buen comienzo:

How can I make a horizontal ListView in Android?

+0

¡Lo investigaré! ¡Gracias! Espero que alguien aquí lo haga. Realmente me gustaría utilizar esto! –

1

Puede hacerlo utilizando una Galería, y en su adaptador agrega los TouchListeners a las ImageViews de cada elemento. Esta es la mejor manera, ya que la Galería brindará soporte para que cada imagen se centre cuando se desplaza. Con HorizontalScrollView solo tienes scroll con fling, y los elementos de tu menú no estarán centralizados.

+0

Gracias. ¡Ya he hecho esto! ¡Funciona bien! :) –

Cuestiones relacionadas