我希望我的观点逐渐显现出来。所以我使用Timer来延迟视图出现的时间。但它不起作用。奇怪的是,这些观点同时出现! 这是我的代码。
public static void startAnimations(final View... views) {
//assume 720
int screenWidth = 720;
final TranslateAnimation translateAnimation = new TranslateAnimation(-screenWidth / 2, 0, 0, 0);
final AlphaAnimation alphaAnimation = new AlphaAnimation(0.5f, 1);
translateAnimation.setDuration(800);
alphaAnimation.setDuration(800);
mViewIndex = 0;
final Timer timer = new Timer();
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (mViewIndex >= views.length) {
timer.cancel();
mViewIndex = 0;
return;
}
View view = views[mViewIndex];
final AnimationSet animationSet = new AnimationSet(true);
animationSet.setDuration(800);
animationSet.setInterpolator(new AccelerateInterpolator());
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(translateAnimation);
view.startAnimation(animationSet);
mViewIndex++;
}
};
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(0x11);
}
}, 0, 300);
}
答案 0 :(得分:1)
尝试使用setAnimationListener
,因为您将拥有以下@override
方法
@Override
public void onAnimationEnd(Animation animation) {
}
所以你可以显示下一个动画