属性动画
透明动画
private void setAlpha() {
ValueAnimator valueAnimator = (ValueAnimator) AnimatorInflater.loadAnimator(MainActivity.this,R.animator.alphe);
valueAnimator.setTarget(textView);
valueAnimator.setDuration(5000);
valueAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Toast.makeText(MainActivity.this, "开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationEnd(Animator animation) {
Toast.makeText(MainActivity.this, "结束", Toast.LENGTH_SHORT).show();
ValueAnimator valueAnimator1= (ValueAnimator) AnimatorInflater.loadAnimator(MainActivity.this,R.animator.alpha);
valueAnimator1.setTarget(textView);
valueAnimator1.setDuration(3000);
valueAnimator1.start();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
valueAnimator.start();
}
旋转动画
private void setRotate() {
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(textView,"rotation",0,720);
objectAnimator.setDuration(5000);
objectAnimator.setRepeatMode(ObjectAnimator.REVERSE);
objectAnimator.start();
}
缩放动画
private void setScal() {
ObjectAnimator objectAnimator =ObjectAnimator.ofFloat(textView,"scaleX",1f,3f);
objectAnimator.setDuration(5000);
objectAnimator.setRepeatMode(ObjectAnimator.REVERSE);
objectAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Toast.makeText(MainActivity.this, "开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationEnd(Animator animation) {
Toast.makeText(MainActivity.this, "结束", Toast.LENGTH_SHORT).show();
ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(textView,"scaleX",3f,1f);
objectAnimator1.start();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
objectAnimator.start();
}
平移动画
private void setTranslation() {
float translationY = textView.getTranslationY();
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(textView,"translationY",translationY,translationY+100);
objectAnimator.setDuration(5000);
objectAnimator.setRepeatCount(3);
objectAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Toast.makeText(MainActivity.this, "开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationEnd(Animator animation) {
Toast.makeText(MainActivity.this, "结束", Toast.LENGTH_SHORT).show();
ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(textView,"translationY",0,0);
objectAnimator1.start();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
objectAnimator.start();
}
背景颜色
private void setpro() {
ObjectAnimator objectAnimator = ObjectAnimator.ofInt(textView,"backgroundColor",Color.BLUE,Color.RED);
objectAnimator.setDuration(3000);
objectAnimator.start();
}
属性动画集合方法1
private void set() {
ObjectAnimator objectAnimator =ObjectAnimator.ofInt(textView,"backgroundColor",Color.BLUE,Color.RED);
ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(textView,"translationY",0,200);
ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(textView,"scaleX",1f,3f);
ObjectAnimator objectAnimator3 = ObjectAnimator.ofFloat(textView,"rotation",0,720);
ObjectAnimator objectAnimator4 = ObjectAnimator.ofFloat(textView,"alpha",0,1);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(objectAnimator).with(objectAnimator1).before(objectAnimator4).after(objectAnimator2).with(objectAnimator3);
animatorSet.setDuration(5000);
animatorSet.start();
}
属性动画集合方法2
private void set() {
PropertyValuesHolder propertyValuesHolder = PropertyValuesHolder.ofInt("backgroundColor",Color.BLUE,Color.RED);
PropertyValuesHolder propertyValuesHolder1 = PropertyValuesHolder.ofFloat("translationY",0,200);
PropertyValuesHolder propertyValuesHolder2 = PropertyValuesHolder.ofFloat("scaleX",1f,3f);
PropertyValuesHolder propertyValuesHolder3 =PropertyValuesHolder.ofFloat("rotation",0,720);
PropertyValuesHolder propertyValuesHolder4=PropertyValuesHolder.ofFloat("alpha",1,0);
ObjectAnimator objectAnimator =ObjectAnimator.ofPropertyValuesHolder(textView,propertyValuesHolder,propertyValuesHolder1,propertyValuesHolder2,propertyValuesHolder3,propertyValuesHolder4);
objectAnimator.setDuration(5000);
objectAnimator.setRepeatCount(3);
objectAnimator.start();
}