2010-04-23 26 views
35

¿Cómo puedo hacer que mi página se deslice a medida que el usuario desliza el dedo sobre la pantalla? ¿Algún código de ejemplo?¿Cómo puedo hacer que mi página se deslice a medida que el usuario desliza el dedo sobre la pantalla?

Solo necesito la misma sensación que en la pantalla de inicio de mi teléfono Android. La pantalla se mueve a medida que el dedo se mueve (también incluye el efecto elástico).

+1

¿Pudo hacer la animación? Estoy buscando tal cosa. Sé que es posible hacer cálculos sofisticados, gestos sensoriales, etc. Solo para saber si hay algo fácil como usar un HorizontalScrollBar y agregarle vistas, ¡luego establecer algunos parámetros y listo! – karim

+0

@Maxood lo hizo ... – Kishore

Respuesta

19

Echa un vistazo a este tutorial y its follow up en warriorpoint. Explican cómo usar ViewFlipper para animar suavemente la transición de una pantalla a otra, y luego en la segunda parte cómo hacerlo usando el control táctil. Tenga en cuenta que estas son transiciones de pantalla completa que no se desplazan en una página existente. Para el paneo, p. en una imagen de gran tamaño que no cabe en la pantalla, consulte Android BigImage. Dependiendo de lo que trates de hacer, puede ser exagerado, pero no está 100% claro lo que estás tratando de lograr.

+0

Estos 2 métodos no son reconocidos porque las animaciones no se proporcionan tal vez. vf.setAnimation (AnimationUtils.loadAnimation (this, R.anim.push_left_out)); vf.setInAnimation (AnimationUtils.loadAnimation (this, R.anim.push_left_in)); También cuando comento estas 2 líneas y ejecuto el código ... obtengo el efecto de conmutación y no el deslizante. Explique –

+0

¿Ha seguido el paso 4 e importa las animaciones de ApiDemos? Y acaba de obtener el efecto de cambio si comenta esas dos líneas porque esas dos líneas son las que le dicen que use el efecto deslizante ... –

+3

Bien. Lo hice y obtuve el efecto de deslizamiento, pero no puedo sostener la página con el dedo, como se puede hacer en la pantalla táctil de inicio. ¿Cómo puedo mantener la página mientras arrastro/deslizo con el dedo? Como se puede sostener con el dedo como cuando la página está a la mitad. Gracias –

0

ver galería uso

+0

¿Estás seguro de que la vista de galería funcionaría? ¿Sería capaz de mantener la página a la mitad con mi dedo? –

0

Tendrá detector de Gesto - las clases/interfaces de bajo consideraciones son:

1. android.view.GestureDetector 
2. android.view.GestureDetector.SimpleOnGestureListener 

Método de interés es onFling.

Ahora, en base a la X, Y y la velocidad en direcciones respectivas, puede "llamar su vista"/"cambiar la posición de los puntos de vista anidados en caso de actividad o vista-grupo" en la ubicación correspondiente.

Un ejemplo de cómo volver a dibujar se pueden encontrar en cualquier juego-como ejemplo LunarLander en Android en http://developer.android.com/resources/samples/LunarLander/src/com/example/android/lunarlander/LunarView.html

9

ViewPager. Esto parece haber sido addressed más completamente después del hecho:

Si usted acaba de comenzar a cabo en el desarrollo de aplicaciones Android o es un veterano de la nave, probablemente no pasará mucho tiempo antes de que usted necesita para implementar conjuntos de vistas de desplazamiento horizontal. Muchas de las aplicaciones de Android ya usan este patrón de IU, como el nuevo Android Market, Google Docs y Google+. ViewPager estandariza la implementación .

2

La pantalla principal está hecha de dos capas:

  • El fondo (o espacio de trabajo) que muestra la imagen; esta capa se desplaza y dibuja el fondo de pantalla con un valor de desplazamiento diferente.Workspace se comporta más o menos como un diseño horizontal simplificado

  • Las pantallas (o CellLayouts) que muestran los iconos; esta capa está hecha de 3 CellLayout uno al lado del otro. CellLayout es un diseño de cuadrícula personalizado.

La aventura se implementa utilizando un VelocityTracker, un Scroller y métodos normales View.scroll.

Cuestiones relacionadas