Мне нужно запустить несколько анимаций одну за другой. Для этого я использую onAnimationEnd().
Во время анимации, в случае события касания, мне нужно остановить анимацию и отобразить новое изображение в этом месте.
Я использую clearAnimation() в случае onTouch. Из-за этого вся анимация была удалена. Мое намерение состоит в том, чтобы остановить анимацию и отобразить новое изображение в затронутой части. Как я могу этого добиться?
Из-за clearAnimation() функция onAnimationEnd() вызывается несколько раз, и я сталкиваюсь с проблемами при запуске анимаций одна за другой.
Есть ли какая-нибудь функция, которая просто останавливает анимацию, а не очищает ее полностью? Я использую Андроид 2.1.
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_UP:
imageArray[g_animCount - 1].clearAnimation();
break;
default:
break;
}
return true; // indicate event was handled
}
@Override
public void onAnimationEnd(Animation animation) {
layout.removeView(imageArray[g_animCount - 1]);
if ( (g_animCount < count))
{
startNextAnimation();
}
else
{
g_animCount = 0;
isBegin = false;
}
}
public void startNextAnimation()
{
int j = random.nextInt(200);
layoutParams.setMargins(j, -20, 30, 0);
layout.addView(imageArray[g_animCount], layoutParams);
imageArray[g_animCount].startAnimation(movArray[g_animCount]);
g_animCount++;
}