Как разместить представление вне экрана, чтобы его можно было Анимировать для перемещения по экрану?
У меня есть RelativeLayout
, заполняющий экран, и пару ImageView
, расположенных на нем с использованием полей LayoutParams
. Эти ImageView
анимируются по-разному, и в одном случае я хочу, чтобы изображение "влетело" на экран справа.
К сожалению, если я установил leftMargin
для этого ImageView больше ширины экрана, он не появляется (или отображается обрезанным, если он частично отображается в начале анимации).
Я попробовал установить ширину и высоту RelativeLayout
больше размера экрана - он работает, но только частично: если изображение полностью размещено на экране, оно не работает, и если изображение частично видно, он не обрезается, но работает только для правой и нижней сторон.
Итак, мой вопрос заключается в следующем: как разместить несколько ImageViews
on и off экрана, чтобы я мог анимировать их с помощью Animation
?
Ответы
Ответ 1
В конце концов, я использовал трюк: я объединил AnimationDrawable и просмотрел анимацию. Я сделал следующее (предполагая, что анимация должна запускать T миллисекунды):
- Расположите изображение на экране.
- Установите в качестве фона AnimationDrawable со следующими кадрами:
- пустой Drawable: 1ms,
- normal Drawable: Tms.
- Измените анимацию вида следующим образом:
- перейти в положение вне экрана (перевод с длительностью = 1 мс),
- сделать обычную анимацию.
Ответ 2
Это, вероятно, хорошее место, чтобы начать искать тех, кто будет использовать решение Fixpoint.
Android - Как разместить вид за пределами экрана?