Комбиниране на Tween с анимация кадър по кадър

Все още имам проблем с най-основните нужди. Искам да имам 2 бутона: единият изпълнява tween анимация, която премества изображение с 50 пиксела, другият бутон изпълнява кадър по кадър анимация на това изображение.

след като анимацията на tween е готова, анимацията кадър по кадър се изпълнява на грешното място. странно. Използвам FillAfter/FillEnabled,

кодът за стартиране на анимацията tween е основен TranslateAnimation(0, 50, 0, 0) със запълване след и fillEnabled = true.

кодът рамка по рамка е image.setImageDrawable(getResources().getDrawable(resourceId)); ((AnimationDrawable) image.getDrawable()).start();

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

наздраве


person Gury Traub    schedule 23.05.2011    source източник


Отговори (1)


Единственият начин, който намерих да го направя, е първо да преместите позицията на изгледа на изображението, като използвате 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 успях да преодолейте го.

person Gury Traub    schedule 24.05.2011