dfe*_*r88 2 java animation android nested-class
我有一个自定义视图Dial
.此视图具有自定义动画DialAnimation
,该动画被编写为嵌套类Dial
.下面是我Activity
实例化的代码,Dial
并尝试在其上执行一系列动画.运行代码时,屏幕上只能看到其中一个动画.我在这里错过了什么?
Dial dial = (Dial) findViewById(R.id.dial);
DialAnimation anim1 = dial.new DialAnimation(0, 90, 3000);
DialAnimation anim2 = dial.new DialAnimation(180, 360, 3000);
anim2.setStartOffset(3500);
AnimationSet set = new AnimationSet(false);
set.addAnimation(anim1);
set.addAnimation(anim2);
dial.startAnimation(set);
Run Code Online (Sandbox Code Playgroud)
一种方法是在第一个动画上设置AnimationListener并覆盖onAnimationEnd()以使其开始序列中的下一个动画.这看起来像这样:
animation1Listener = new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
dial.startAnimation(animation2)
}
}
animation1.setAnimationListener(animation1Listener);
dial.startAnimation(animation1);
Run Code Online (Sandbox Code Playgroud)