基本属性动画的实现
包括透明度的改变,缩放,移动和旋转四大基本功能
/**
* 透明度渐变的动画
*
* @param view
*/
public void alpha(View view) {
// iv.setAlpha(alpha);
// iv.getAlpha();
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "alpha", new float[] {
0.0f, 0.2f, 0.4f, 0.6f, 0.8f, 1.0f });
oa.setDuration(3000);
oa.setRepeatCount(ObjectAnimator.INFINITE);
oa.setRepeatMode(ObjectAnimator.REVERSE);
oa.start();
}
/**
* 平移动画
*
* @param view
*/
public void trans(View view) {
// iv.setTranslationX(translationX);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX",
new float[] { 10f, 20f, 30f, 40f, 60f, 80f });
oa.setDuration(3000);
oa.setRepeatCount(ObjectAnimator.INFINITE);
oa.setRepeatMode(ObjectAnimator.REVERSE);
oa.start();
}
/**
* 缩放动画
*/
public void scale(View view) {
// iv.setScaleX(scaleX)
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "scaleX", new float[] {
1f, 2f, 3f, 4f, 5f, 6f });
oa.setDuration(3000);
oa.setRepeatCount(ObjectAnimator.INFINITE);
oa.setRepeatMode(ObjectAnimator.REVERSE);
oa.start();
}
/**
* 旋转动画
*/
public void rotate(View view) {
// iv.setRotation(rotation);
// iv.getRotation()
// iv.setRotationX(rotationX);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotationY",
new float[] { 90f, 180f, 270f, 360f });
oa.setDuration(3000);
oa.setRepeatCount(ObjectAnimator.INFINITE);
oa.setRepeatMode(ObjectAnimator.REVERSE);
oa.start();
}
/**
* 动画合集 集合
*/
public void set(View view) {
AnimatorSet set = new AnimatorSet();
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX",
new float[] { 10f, 20f, 30f, 40f, 60f, 80f });
oa.setDuration(3000);
ObjectAnimator oa2 = ObjectAnimator.ofFloat(iv, "translationY",
new float[] { -10f, -20f, -30f, -40f, -60f, -80f });
oa2.setDuration(3000);
set.playTogether(oa, oa2);
set.start();
}