Android – Flip Animation no se mueve sin problemas

Quiero hacer mi imagen para voltear horizontalmente por 4 veces, y al mismo tiempo reducirlo.

Tengo el siguiente código para voltear:

ObjectAnimator flipAnimation = ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 1440f); flipAnimation.setDuration(4000); flipAnimation.start(); 

Y tengo el siguiente código en scale_down.xml para reducir la escala:

 <scale android:duration="4000" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:toXScale="0.1" android:toYScale="0.1" > </scale> 

Sin embargo, cuando ejecuto mi aplicación en el emulador en eclipse, la imagen de volteo muestra un efecto incómodo. Como se puede ver a partir de las imágenes, a veces, al girar, un lado vertical es más largo que el otro lado, haciendo un efecto de estiramiento, que no es lo que quiero. Cualquier ayuda para eliminar ese efecto?

Introduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagen

    Ese efecto se llama distorsión de la perspectiva . Y esto es exactamente lo que setCameraDistance() es para:

    Define la distancia a lo largo del eje Z (ortogonal al plano X / Y en el que se dibujan las vistas) de la cámara a esta vista. La distancia de la cámara afecta a las transformaciones 3D, por ejemplo rotaciones alrededor del eje X e Y. Si se cambian las propiedades de rotationX o rotationY y esta vista es grande (más de la mitad del tamaño de la pantalla), se recomienda utilizar siempre una distancia de cámara mayor que la altura (rotación del eje X) o la anchura ) De este punto de vista.

    La distancia de la cámara respecto al plano de vista puede afectar a la distorsión en perspectiva de la vista cuando se gira alrededor del eje x o y. Por ejemplo, una gran distancia dará lugar a un gran ángulo de visión, y no habrá mucha distorsión de perspectiva de la vista a medida que gira. Una distancia corta puede causar distorsión mucho más perspectiva tras la rotación, y también puede resultar en algunos artefactos de dibujo si la vista girada termina parcialmente detrás de la cámara (razón por la cual la recomendación es utilizar una distancia al menos tan grande como el tamaño de la Vista, si se va a girar la vista.)

    Es posible que desee jugar con el valor, dependiendo de las dimensiones de la vista y el efecto visual que desea lograr. Tengo un buen resultado con:

     view.setCameraDistance(10 * view.getWidth()); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.