2010-10-26 16 views
11

Tengo un RelativeLayout llenando la pantalla y un par de ImageView posicionado en él usando los márgenes LayoutParams. Estos ImageView están animados de diferentes maneras, y en un caso quiero que una imagen "entre" en la pantalla desde la derecha.Cómo colocar una vista fuera de la pantalla para que pueda ser animada para moverse en la pantalla?

Desafortunadamente, si configuro leftMargin para ese ImageView mayor que el ancho de la pantalla, no aparece (o aparece recortada si es parcialmente visible al comienzo de la animación).

He intentado configurar el ancho y la altura de RelativeLayout para que sea más grande que el tamaño de pantalla - funciona, pero solo parcialmente: si la imagen se coloca completamente fuera de la pantalla, no funciona, y si la imagen es parcialmente visible, es no recortada, pero eso funciona solo para los lados derecho e inferior.

lo tanto, mi pregunta es la siguiente: cómo posicionar varios ImageViews dentro y fuera la pantalla para que pueda animar usando Animation?

+0

Gracias, intentaré esto. – Fixpoint

+0

Ok, publique su solución si tiene una. Actualmente estoy teniendo problemas con la animación, mi animación va por el eje equivocado, todavía no sé por qué. –

Respuesta

5

Al final, utilicé un truco: combiné AnimationDrawable y visualicé la animación. Hice lo siguiente (suponiendo que la animación debe ejecutarse en milisegundos en T):

  1. Coloque esa imagen en la pantalla.
  2. Establecer como fondo una AnimationDrawable con marcos siguientes:
    • vacías Drawable: 1 ms,
    • normales Disponibles: Tms. animación
  3. Cambio de vista a este:
    • salto a la posición de apagado de pantalla (traducción con una duración de 1 ms =),
    • hacer la animación normal.
+4

¿lo has implementado? Sería bueno comprobar algún código! – gwa

Cuestiones relacionadas