package licola.demo.com.huabandemo.Util;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.support.v4.view.animation.FastOutLinearInInterpolator;
import android.support.v4.view.animation.FastOutSlowInInterpolator;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
/**
* Created by LiCola on 2016/05/28 15:31
* 动画工具类 代码生成动画对象
* 主要是为了 能够使用V4包的FastOutSlowIn 的兼容动画
*/
public class AnimatorUtils {
//用不上 Fab有自己的隐藏显示方法
public static AnimatorSet getScale(View target) {
final AnimatorSet set = new AnimatorSet();
ObjectAnimator animatorX = ObjectAnimator.ofFloat(target, View.SCALE_X, 1, 0, 1);
ObjectAnimator animatorY = ObjectAnimator.ofFloat(target, View.SCALE_Y, 1, 0, 1);
set.setDuration(1000);
set.play(animatorX).with(animatorY);
set.setInterpolator(new FastOutSlowInInterpolator());
return set;
}
public static ObjectAnimator getRotationAD(View target) {
final ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(target, View.ROTATION, 0, 360);
objectAnimator.setDuration(500);
objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
return objectAnimator;
}
public static ObjectAnimator getRotationFS(View target) {
final ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(target, View.ROTATION, 0, 360);
objectAnimator.setDuration(600);
objectAnimator.setRepeatCount(ValueAnimator.INFINITE);
objectAnimator.setInterpolator(new FastOutSlowInInterpolator());
return objectAnimator;
}
public static ValueAnimator getValue() {
final ValueAnimator valueAnimator = ValueAnimator.ofFloat(1f, 1f);
valueAnimator.setDuration(800);
valueAnimator.setInterpolator(new FastOutLinearInInterpolator());
return valueAnimator;
}
}