import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.Toast; public class MainActivity extends Activity { private ImageView iv;
private ObjectAnimator a;
private ObjectAnimator t;
private ObjectAnimator r;
private ObjectAnimator s; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
iv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "点我", 0).show();
}
});
} /**
* 透明度
*/
public void alpha(View v) {
a = ObjectAnimator.ofFloat(iv, "alpha", 0, 1, 0.5f,
0.1f, 0.8f);
// 设置时间
a.setDuration(1000);
// 设置动画的重复次数
a.setRepeatCount(1);
a.start();
} /**
* 位移动画
*/
public void translate(View view) {
/**
* target :座动画的目标控件 propertyName :动画的属性名 values :属性值
*/
// ObjectAnimator t = ObjectAnimator.ofFloat(iv, "translationX",
// 0,100,20,80,10,200); t = ObjectAnimator.ofFloat(iv, "translationY", 0, 100,
20, 80, 10, -50);
// 设置时间
t.setDuration(1000);
// 设置动画的重复次数
t.setRepeatCount(1);
// t.setRepeatMode(ObjectAnimator.REVERSE);
// 开始播放动画
t.start();
} /**
* 旋转动画
*/
public void rotate(View view) {
// ObjectAnimator r = ObjectAnimator.ofFloat(iv, "rotation", 0, 45, 270,
// ObjectAnimator r = ObjectAnimator.ofFloat(iv, "rotationX", 0, 45,
// 270,360, 100); r = ObjectAnimator.ofFloat(iv, "rotationY", 0, 45, 270,
360, 100);
// 设置时间
r.setDuration(1000);
// 设置动画的重复次数
r.setRepeatCount(1);
// t.setRepeatMode(ObjectAnimator.REVERSE);
// 开始播放动画
r.start();
} /**
* 缩放
*/
public void scale(View view) {
// ObjectAnimator s = ObjectAnimator.ofFloat(iv, "scaleX",10, 1, 0, 5,1); s = ObjectAnimator.ofFloat(iv, "scaleY",5, 1, 0, 5,1);
// 设置时间
s.setDuration(2000);
// 设置动画的重复次数
s.setRepeatCount(1);
// t.setRepeatMode(ObjectAnimator.REVERSE);
// 开始播放动画
s.start();
} /**
* 动画的合集
*/
public void set(View v) {
AnimatorSet set = new AnimatorSet();
//添加要播放的动画,一起装x一起飞
// set.playTogether(a,t,r,s);
//一个装x一个飞
set.playSequentially(a,t,r,s);
//设置目标
set.setTarget(iv);
//开始播放动画
set.start();
}
}
05-11 09:39