Я сделал набор из 3 изображений, которые будут изображать движение животного. Каждое изображение представляет собой рамку и состоит только из животного с прозрачным фоном.
Я создал AnimationDrawable в коде и создал анимацию:
AnimationDrawable staticAnimation = new AnimationDrawable();
staticAnimation.addFrame(ctx.getResources().getDrawable("frame1"),150);
staticAnimation.addFrame(ctx.getResources().getDrawable("frame2"),150);
staticAnimation.addFrame(ctx.getResources().getDrawable("frame3"),150);
Я устанавливаю анимацию в качестве фона для просмотра изображений и запускаю ее
imgAnimal.setBackgroundDrawable(staticAnimation );
staticAnimation.start()
Поскольку рамки имеют разную ширину (рисунок должен воссоздать шаги, перемещайтесь), похоже, что Imageview изменяет размеры изображений в анимации. Проще говоря, если frame1 больше, чем frame2, frame 1 отображается нормально, но frame 2 растягивается до размера, равного frame1. Выглядит действительно ужасно.
Есть предложения о том, как остановить это поведение? Спасибо.