补间动画主要有4种,分别是透明,旋转,缩放和位移.这里为了方便测试,直接定义4个按钮和一个ImageView来测试4种效果
一:透明(alpha):
//透明的动画
public void click1(View v){
AlphaAnimation aa=new AlphaAnimation(1.0f,0.0f);
aa.setDuration(2000); //持续时间
aa.setRepeatCount(1); //设置重复的次数1+1为2
aa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
//开始执行动画
iv.startAnimation(aa);
}
二:旋转(Rotate):
//执行旋转动画
public void click2(View v){
//RotateAnimation ra=new RotateAnimation(0,360); //两个参数,开始的角度和结束的角度
RotateAnimation ra=new RotateAnimation(
0,360,
Animation.RELATIVE_TO_SELF,0.5f,
Animation.RELATIVE_TO_SELF,0.5f); //旋转轴的类型
ra.setDuration(2000); //持续时间
ra.setRepeatCount(1); //设置重复的次数1+1为2
ra.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
//开始执行动画
iv.startAnimation(ra);
}
三:缩放(Scale):
//执行缩放的动画
public void click3(View v){
ScaleAnimation sa=new ScaleAnimation(
1.0f,2.0f, //x轴放大2倍
1.0f,2.0f,
Animation.RELATIVE_TO_SELF,0.5f,//基于中心点
Animation.RELATIVE_TO_SELF,0.5f
);
sa.setDuration(2000); //持续时间
sa.setRepeatCount(1); //设置重复的次数1+1为2
sa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
//开始执行动画
iv.startAnimation(sa);
}
四:位移(Translate):
//执行位移的动画
public void click4(View v){
TranslateAnimation ta=new TranslateAnimation(
Animation.RELATIVE_TO_PARENT,0,
Animation.RELATIVE_TO_PARENT,0, //x轴的开始位置和结束位置
Animation.RELATIVE_TO_PARENT,0f,
Animation.RELATIVE_TO_PARENT,0.5f //x轴的开始位置和结束位置,是以父窗口为参照物
);
ta.setDuration(2000); //持续时间
// ta.setRepeatCount(1); //设置重复的次数1+1为2
ta.setRepeatMode(Animation.REVERSE);//设置动画执行的模式
ta.setFillAfter(true); //当动画结束后停留在结束位置
//开始执行动画
iv.startAnimation(ta);
}
注意补间动画不会改变控件的真实位置