动画 -- 属性动画 -- AnimatorSet

一、概念

AnimatorSet,标签:
属性动画集合。

二、实现

1. XML实现

//res/animator/set_animator.xml


    
    
    


//布局


    


//代码,MainActivity
private void setAnimatorXML() {
    mAnimatorSet = (AnimatorSet)AnimatorInflater.loadAnimator(this, R.animator.set_animator);
    mAnimatorSet.setTarget(mMain_tv);
    mAnimatorSet.start();
}

private void stopAnimator() {
    mAnimatorSet.cancel();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    setAnimatorXML();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    stopAnimator();
}

2. 代码实现

//布局


    


//代码,MainActivity
private void setAnimatorCode() {
    ObjectAnimator animator1 = ObjectAnimator.ofFloat(mMain_tv, "alpha", 0, 1);
    ObjectAnimator animator2 = ObjectAnimator.ofFloat(mMain_tv, "translationX", 0, 200);
    ObjectAnimator animator3 = ObjectAnimator.ofFloat(mMain_tv, "translationY", 0, 200);

    AnimatorSet animatorSet = new AnimatorSet();
    animatorSet.playTogether(animator1, animator2, animator3);
    animatorSet.setDuration(3000);
    animatorSet.start();
}

private void stopAnimator() {
    mAnimatorSet.cancel();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    setAnimatorCode();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    stopAnimator();
}

三、属性

android:ordering:
表示动画集合中的子动画播放顺序。有"together"和"sequentially"两个选项,默认值为"together"。
其中"together"表示动画集合中的子动画同时播放,"sequentially"表示动画集合中的子动画按照前后顺序依次播放。

四、实例

动画实战:打造炫酷的加载动画
动画实战:打造仿搜索引擎加载动画

你可能感兴趣的:(动画 -- 属性动画 -- AnimatorSet)