Как расположить представление вне экрана, чтобы его можно было анимировать для перемещения на экране? - PullRequest
11 голосов
/ 26 октября 2010

У меня есть RelativeLayout, заполняющий экран, и пара ImageView, расположенная на нем с использованием полей LayoutParams. Эти ImageView анимированы по-разному, и в одном случае я хочу, чтобы изображение «влетело» на экран справа.

К сожалению, если я установлю leftMargin для этого ImageView больше, чем ширина экрана, он не появится (или будет обрезан, если он частично виден в начале анимации).

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

Итак, мой вопрос заключается в следующем: как расположить несколько ImageViews включенных и выключенных экранов, чтобы я мог анимировать их с помощью Animation?

Ответы [ 2 ]

5 голосов
/ 27 октября 2010

В итоге я использовал хитрость: я объединил AnimationDrawable и просмотр анимации.Я сделал следующее (предполагая, что анимация должна выполняться в течение T миллисекунд):

  1. Положение этого ImageView на экране.
  2. Установка в качестве фона AnimationDrawable со следующими кадрами:
    • пусто Drawable: 1ms,
    • normal Drawable: Tms.
  3. Измените анимацию вида на это:
    • перейти в нерабочее положение(перевод с длительностью = 1 мс),
    • сделать обычную анимацию.
1 голос
/ 07 мая 2013

Это, вероятно, хорошее место, чтобы начать поиск тех, кто будет использовать решение Fixpoint.

Android - Как позиционировать просмотр вне экрана?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...