ImageView iv = (ImageView) findViewById(R.id.imageView1);
ObjectAnimator obj = ObjectAnimator.ofFloat(iv, "alpha",0f, 1f);
obj.setDuration(2000);
obj.start();
obj = ObjectAnimator.ofFloat(iv,"rotationX",0.0f,180.0f,180.0f,0.0f);
obj.setDuration(5000);
obj.setRepeatMode(Animation.REVERSE);
obj.start();
//-----------------------------------------------------------------------------------------
// iv.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(final View v) {
// Log.d("liuhang","===============");
//
// // ObjectAnimator obj = ObjectAnimator.ofFloat(v,"rotationY",0.0f,180.0f,180.0f,0.0f);
// // obj.setDuration(3000);
// // obj.start();
//
// ObjectAnimator obj = ObjectAnimator.ofFloat(v, "liuhang",0.0f,1.3f,1.3f,1.0f).setDuration(3000);
// obj.start();
// obj.addUpdateListener(new AnimatorUpdateListener() {
//
// @Override
// public void onAnimationUpdate(ValueAnimator animation) {
//
// float cVal = (Float) animation.getAnimatedValue();
// v.setAlpha(cVal);
// v.setScaleX(cVal);
// v.setScaleY(cVal);
// }
// });
// }
// });
//-----------------------------------------------------------------------------------------
// usePropertyValueHolder(iv);
//-----------------------------------------------------------------------------------------
ObjectAnimator obj = ObjectAnimator.ofFloat(iv,"alpha",0.5f);
obj.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
// TODO Auto-generated method stub
Log.d(tag, "animation start");
}
@Override
public void onAnimationRepeat(Animator animation) {
// TODO Auto-generated method stub
Log.d(tag, "animation repeat");
}
@Override
public void onAnimationEnd(Animator animation) {
// TODO Auto-generated method stub
Log.d(tag, "animation end");
}
@Override
public void onAnimationCancel(Animator animation) {
// TODO Auto-generated method stub
Log.d(tag, "animation cancel");
}
});
obj.start();
}
public void usePropertyValueHolder(View view) {
PropertyValuesHolder vhAlpha = PropertyValuesHolder.ofFloat("alpha",1f,0f,1f);
PropertyValuesHolder vhScaleX = PropertyValuesHolder.ofFloat("scaleX",1f,0f,1.5f,1.0f);
PropertyValuesHolder vhScaleY = PropertyValuesHolder.ofFloat("scaleY",1f,0f,1.5f,1.0f);
ObjectAnimator.ofPropertyValuesHolder(view, vhAlpha,vhScaleX,vhScaleY).setDuration(3000).start();
}
多个动画同时运行
public void togetherRun(View view) {
ObjectAnimator animationOne = ObjectAnimator.ofFloat(view, "scaleX",1.0f,2.0f,1.0f);
ObjectAnimator animationTwo = ObjectAnimator.ofFloat(view, "scaleY",1.0f,2.0f,1.0f);
AnimatorSet sets = new AnimatorSet();
sets.setInterpolator(new AccelerateDecelerateInterpolator());
sets.playTogether(animationOne,animationTwo);
sets.setDuration(3000);
sets.start();
}