Объединение анимации с покадровой анимацией - PullRequest
1 голос
/ 23 мая 2011

У меня все еще есть проблема с самой основной потребностью.Я хочу иметь 2 кнопки: одна запускает анимацию движения, которая перемещает изображение на 50 пикселей, другая кнопка запускает покадровую анимацию на этом изображении.

после завершения анимации анимации запускается покадровая анимацияв неправильном месте.странно.Я использую FillAfter / FillEnabled,

, код для запуска анимации анимации - это базовая TranslateAnimation (0, 50, 0, 0) с заливкой после и fillEnabled = true.

кадр за кадром имеет код image.setImageDrawable (getResources (). getDrawable (resourceId));((AnimationDrawable) image.getDrawable ()). Start ();

помощь будет оценена.

Приветствия

1 Ответ

2 голосов
/ 24 мая 2011

Единственный способ, который я нашел, это сделать сначала, чтобы вы переместили свою позицию просмотра изображения, используя setLayoutParams с новыми полями, и только затем вы запускаете TranslateAnimation, используя (-x, -y, 0, 0), так что для моего конкретного случаяв вопросе вот мой код:

TranslateAnimation tweenAnim = new TranslateAnimation(-1 * XStep, -1  * YStep , 0, 0);
tweenAnim.setDuration(number_of_steps * 750);
tweenAnim.setFillAfter(true);
tweenAnim.setFillEnabled(true);
tweenAnim.setInterpolator(new LinearInterpolator());

 //layout positioning
lp.leftMargin  += XStep;
lp.bottomMargin += YStep;
imageView.setLayoutParams(lp);

Log.v(TAG, "leftMargin=" + lp.leftMargin);
Log.v(TAG, "bottomMargin=" + lp.bottomMargin);

imageView.startAnimation(tweenAnim);

Это была огромная боль.шутки в сторону.спасибо за http://www.clingmarks.com/?p=400 мне удалось это преодолеть.

...