La animación que estoy ejecutando dentro de una vista de imagen se niega a mantener la relación de aspecto de los marcos de imagen. Las siguientes respuestas en SO son bastante informativo, pero no parecen funcionar para mí: How to scale an Image in ImageView to keep the aspect ratioAndroid: Cómo mantener la relación de aspecto en animación
Aquí está el código:
private void startAnimation(){
mImageView.setAdjustViewBounds(true);
mImageView.setScaleType(ScaleType.CENTER);
mImageView.setBackgroundResource(R.anim.my_animation);
AnimationDrawable frameAnimation = (AnimationDrawable) mImageView.getBackground();
// Start the animation (looped playback by default).
frameAnimation.start();
}
R.anim.my_animation es sólo una lista de animación:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/selected"
android:oneshot="false">
<item
android:drawable="@drawable/photo_1"
android:duration="100" />
<item
android:drawable="@drawable/photo__2"
android:duration="100" />
... and so on...
</animation-list>
Según la pregunta que mencionó, la solución mintió en el diseño XML. Publique su diseño XML para que podamos verificar que está definiendo los parámetros correctamente. – user432209
@ user432209: +1. Me ayudaste a descubrir mi error. Establecí la altura y el ancho de la imagen en valores absolutos (ya que muestra algunas cosas además de la animación). Eliminar eso resolvió el problema. ¡Gracias! – OceanBlue