У меня все еще проблема с самой основной потребностью. Я хочу иметь 2 кнопки: один запускает анимацию анимации, которая перемещает изображение на 50 пикселей, другая кнопка запускает покадровую анимацию на этом изображении.
После анимации анимации анимации анимация кадра за кадром выполняется в неправильном месте. странно. Я использую FillAfter/FillEnabled,
код для запуска анимации анимации анимации является основным TranslateAnimation (0, 50, 0, 0) с заполнением после и fillEnabled = true.
код кадра за кадром image.setImageDrawable(. GetResources() getDrawable (ResourceId)); ((AnimationDrawable) image.getDrawable()). Start();
помощь будет оценена.
Приветствия
Единственный способ, которым я нашел это: сначала вы перемещаете позицию своего изображения, используя 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 Я смог преодолеть это.