ObjectAnimator ValueAnimator AnimatorSet基础
Posted X-Bing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ObjectAnimator ValueAnimator AnimatorSet基础相关的知识,希望对你有一定的参考价值。
package com.xbing.com.viewdemo;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.TextView;
/**
* Created by zhaobing on 2016/6/21.
*/
public class AnimatorActivity extends Activity {
TextView mView;
RadioButton mSelect;
public int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animator_activity);
mView = (TextView) findViewById(R.id.tv_animator);
mSelect = (RadioButton)findViewById(R.id.rb_select);
findViewById(R.id.btn_move).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ObjectAnimator animator = new ObjectAnimator();
switch (index%7){
case 0:
//透明度渐变
animator = ObjectAnimator.ofFloat(mView,"alpha",1f,0f,1f);
break;
case 1://横向平移
animator = ObjectAnimator.ofFloat(mView,"translationX",0,100,0);
break;
case 2://旋转
animator = ObjectAnimator.ofFloat(mView,"rotation",0,180,0);
break;
case 3://依Y轴旋转
animator = ObjectAnimator.ofFloat(mView,"rotationY",0,180,0);
break;
case 4://竖向平移
animator = ObjectAnimator.ofFloat(mView,"translationY",0,100,0);
break;
case 5://竖向缩放
animator = ObjectAnimator.ofFloat(mView,"scaleY",0,3,1);
break;
case 6://几个动画合并
animator = ObjectAnimator.ofFloat(mView,"alpha",1f,0f,1f);
ValueAnimator animator1 = ObjectAnimator.ofFloat(mView,"rotation",0,180,0);
ObjectAnimator animator2 = ObjectAnimator.ofFloat(mView,"scaleY",0,3,1);
ObjectAnimator animator3 = ObjectAnimator.ofFloat(mView,"scaleX",0,3,1);
//几个动画合并播放
AnimatorSet animSet = new AnimatorSet();
animSet.play(animator1).with(animator).with(animator2).with(animator3);
animSet.setDuration(2000);
animSet.start();
break;
}
if(index%7<6){
animator.setDuration(1000);
animator.start();
}
if(!mSelect.isChecked()){
index++;
}
}
});
}
}
以上是关于ObjectAnimator ValueAnimator AnimatorSet基础的主要内容,如果未能解决你的问题,请参考以下文章
Android ObjectAnimator 与 ViewPropertyAnimator