public
class
MainActivity
extends
Activity {
private
ImageView
iv
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
iv
=(ImageView) findViewById(R.id.
iv
);
}
/**
* 透明度动画
*
@param
v
*/
public
void
alpha(View v){
//创建AlphaAnimation,并设置透明度范围0.2~1.0
AlphaAnimation alpha=
new
AlphaAnimation(0.2f, 1.0f);
alpha.setDuration(2000);
//设置持续时间
alpha.setRepeatCount(2);
//设置重复次数
alpha.setRepeatMode(Animation.
REVERSE
);
//设置重复模式 1.0f---->0.2f
alpha.setFillAfter(
true
);
//是否停留在动画播放完毕之后的效果上
iv
.startAnimation(alpha);
}
/**
* 大小变化动画
*
@param
v
*/
public
void
scale(View v){
ScaleAnimation scale=
new
ScaleAnimation(0.2f, 2f, 0.2f, 2f);
scale.setDuration(2000);
scale.setRepeatCount(2);
iv
.startAnimation(scale);
}
/**
* 位置移动变化
*
@param
view
*/
public
void
trans(View view){
TranslateAnimation trans=
new
TranslateAnimation(20, 50, 20, 50);
//从(0,0)坐标移动到(50,50)坐标
trans.setDuration(2000);
trans.setRepeatCount(2);
iv
.startAnimation(trans);
}
/**
* 旋转的方法
*
@param
v
*/
public
void
rotate(View v){
//RotateAnimation rotate=new RotateAnimation(0, 360);
//Animation.RELATIVE_TO_SELF:相对动画自身而言
RotateAnimation rotate=
new
RotateAnimation(0, 360, Animation.
RELATIVE_TO_SELF
, 0.5f, Animation.
RELATIVE_TO_SELF
, 0.5f);
rotate.setDuration(2000);
iv
.startAnimation(rotate);
}
/**
* 组合效果
*/
public
void
set(View v){
//创建动画组合器
AnimationSet set=
new
AnimationSet(
false
);
//设置动画效果
ScaleAnimation scale=
new
ScaleAnimation(0.2f, 2f, 0.2f, 2f);
scale.setDuration(2000);
RotateAnimation rotate=
new
RotateAnimation(0, 360, Animation.
RELATIVE_TO_SELF
, 0.5f, Animation.
RELATIVE_TO_SELF
, 0.5f);
rotate.setDuration(2000);
//往组合器中添加动画:组合器组合动画
set.addAnimation(scale);
set.addAnimation(rotate);
iv
.startAnimation(set);
//开启组合动画
}
}