自定义的动画

来源:互联网 发布:倩女幽魂有mac版吗 编辑:程序博客网 时间:2024/06/05 04:51
public class MainActivity extends AppCompatActivity {    private Circle c;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         c = (Circle) findViewById(R.id.circle);             ObjectAnimator transkationY = ObjectAnimator.ofFloat(c,"translationY", -300, 300f);        ObjectAnimator transkationX = ObjectAnimator.ofFloat(c,"translationX", 0, 0f);             ObjectAnimator ra = ObjectAnimator.ofFloat(c,"rotationY", 0f, 360f);        AnimatorSet animatorSet = new AnimatorSet();             animatorSet.play(transkationY).with(transkationX).with(ra);        animatorSet.setDuration(3000);        ra.setDuration(3000);        ra.start();        animatorSet.start();        //动画的监听        animatorSet.addListener(new Animator.AnimatorListener() {            @Override            public void onAnimationStart(Animator animator) {            }            @Override            public void onAnimationEnd(Animator animator) {                               Intent intent = new Intent(MainActivity.this, Main2Activity.class);                startActivity(intent);            }            @Override            public void onAnimationCancel(Animator animator) {            }            @Override            public void onAnimationRepeat(Animator animator) {            }        });    }}//自定义
public class Circle extends View {    public Circle(Context context) {        super(context);    }    public Circle(Context context, @Nullable AttributeSet attrs) {        super(context, attrs);    }    public Circle(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        Paint p = new Paint();        p.setColor(getResources().getColor(R.color.colorPrimary));        p.setStrokeWidth(20);        canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight() / 2, 50, p);    }}

原创粉丝点击