Tengo un ImageView y hago una animación de escala simple para él. Código muy estándar.Animación de escala de imagen de Android relativa al punto central
Mi scale_up.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="1"
android:fromYScale="1"
android:toXScale="1.2"
android:toYScale="1.2"
android:duration="175"/>
</set>
Mi código de animación:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
El problema:
Cuando la imagen Escalas no escala del centro, pero a partir de la Esquina superior izquierda. En otras palabras, la versión escalada de la imagen no tiene el mismo punto que el centro, pero tiene el mismo punto superior izquierdo. Here's a link that explains what I mean. La primera imagen es cómo se escala la animación, y la segunda imagen es cómo quiero que se escale. Debe mantener el punto central igual. He intentado configurar la gravedad en la imagen, en el contenedor, alinear a la izquierda o a la derecha, siempre se escala igual. Estoy usando RelativeLayout para la pantalla principal y ImageView está ubicado en otro RelativeLayout, pero probé otros diseños, sin cambios.
50% p hizo el trabajo. –
para mí 50% hizo el trabajo (sin p) – agamov
debe ser sin p si es relativo al ancho o alto del componente al que está aplicando la animación. p se refiere al padre del componente al que está aplicando la animación. –