需求:
我需要按顺序运行多个动画。我正在使用onAnimationEnd()来实现。
在动画过程中,如果触发了触摸事件,我需要停止动画并在该位置显示一个新的图像。
问题:
在onTouch事件中使用clearAnimation()会导致整个动画被删除。我的意图是停止动画并在触摸部分显示一个新的图像。如何实现这一点?
由于clearAnimation(),onAnimationEnd()被调用多次,我在按顺序运行动画时遇到问题。
是否有仅停止动画而不完全删除它的函数?我正在使用Android 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++;
}