Android: перевести анимацию на растровое изображение

У меня есть объект android.graphics.Bitmap, который я рисую на своем холсте, и я пытаюсь анимировать его из позиции x, y в позицию x1, y1. Поэтому, просмотрев библиотеку анимации, я решил, что могу использовать TranslateAnimation для создания анимации, хотя объект Bitmap не имеет метода startAnimation. Итак, как мне анимировать растровое изображение? Нужно ли мне обернуть его в какой-то другой объект?


person EpicOfChaos    schedule 10.12.2011    source источник
comment
Анимации используются для просмотра объектов. Чтобы перевести / преобразовать растровое изображение, которое вы рисуете на холсте, вам нужно будет создать свои собственные алгоритмы анимации (если вы не хотите, чтобы весь вид, содержащий холст, анимировался)   -  person Jave    schedule 13.12.2011


Ответы (2)


Вы можете установить его на ImageView и вместо этого анимировать ImageView.

РЕДАКТИРОВАТЬ: Теперь, когда я думаю об этом, вы все равно должны отображать растровое изображение через какое-то представление. Анимации Tween можно применять к любому видимому виду, поэтому все, что отображает растровое изображение, просто анимируйте его.

Кроме того, вы можете расширить View и создать собственное представление. Используйте метод canvas.translate(toX, toY), чтобы сдвинуть холст и нарисовать растровое изображение.

person DeeV    schedule 12.12.2011
comment
Итак, сейчас у меня есть собственный вид, и в OnDraw я рисую кучу растровых изображений. Если я изменю эти растровые изображения на ImageView, как мне нарисовать ImageView там, где я хочу, чтобы они были? - person EpicOfChaos; 13.12.2011
comment
Нарисовать их как? Вы можете разместить ImageViews в любом месте, как и любое другое View. Когда вы создаете свою анимацию движения, вы можете выбрать перемещение на n число пикселей в позициях x/y или в процентах, основанное либо на самом местоположении ImageView, либо на его родительском элементе. - person DeeV; 13.12.2011
comment
Хорошо, позвольте мне попробовать это, я вернусь с вами. - person EpicOfChaos; 13.12.2011

DeeV правильно сказал - как ваше растровое изображение отображается для пользователя? Должно быть ImageView, с набором BitmapDrawable, и для этого вида можно запустить анимацию.

person Jin35    schedule 12.12.2011