Android-анимация в ImageView растянута по вертикали - PullRequest
1 голос
/ 14 сентября 2011

Все выглядит отлично, когда я использую ImageView, чтобы показать изображение в формате png, как это:

<ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/png_picture"
     android:src="@drawable/paos_connection"/>

Изображение отлично масштабируется, заполняет экран по горизонтали и имеет правильное соотношение сторон.

Теперь я хочу заменить изображение анимацией. Я решил использовать Frame Animation, как показано здесь: http://developer.android.com/guide/topics/graphics/view-animation.html. Я использую файлы png того же размера (слегка измененные копии исходного).

Моя проблема в том, что анимация играет, и она заполняет экран по горизонтали, как и раньше, но теперь она растянута по вертикали. Я могу заставить его иметь правильную высоту путем жесткого кодирования высоты:

<ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="210px" 
     android:id="@+id/animation" />

... но очевидно, что это не очень хорошее решение, потому что изображение должно иметь правильное соотношение сторон на всех размерах экрана.

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Это может помочь.Я обнаружил без особых усилий, вы застряли, используя фиксированный элемент, если изображение не отрисовывается в порядке с остальной частью макета при инициализации.

http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

Быстрый способ взлома - установить на его место прозрачное изображение с такими же размерами, как у анимированного изображения.Программно создайте ImageView, используя ширину и высоту визуализированного прозрачного изображения.После этого анимируйте созданное изображение.

0 голосов
/ 24 декабря 2013

Вместо настройки анимации, которую можно нарисовать на фоне изображения, установите ее на переднем плане, используя src, и дайте анимации воспроизводиться там. Все изображения в анимации кадра будут изменены с сохранением соотношения сторон при условии, что вы установили подходящий тип масштаба для просмотра изображений.

...