一、AlphaAnimation(透明度)
参数:
fromAlpha:开始透明度(数值在0-1之间)
toAlpha:结束透明度(数值在0-1之间)
//创建AlphaAnimation(透明度动画)
AlphaAnimation animation=new AlphaAnimation(0.0f, 1.0f);
//设置动画时间
animation.setDuration(2000);
//设置动画重复次数
animation.setRepeatCount(2);
//开启动画效果
imageview.startAnimation(animation);
二、TranslateAnimation(平移)
参数:
fromXDela/toXDela:开始/结束的x坐标
fromYDela/toYDela:开始/结束的y坐标
//创建TranslateAnimation位移动画
TranslateAnimation trananimation=new TranslateAnimation(-imageview.getMeasuredWidth(), 0,0,300);
//设置动画时间
trananimation.setDuration(2000);
//设置是否记录移动后的位置,true时动画将停留在当前位置,false将回到开始位置
trananimation.setFillAfter(true);
//设置插值器,可以理解为用于改变运动形式的东西
//(现在设置的运动形式类似于自由落体,会有弹跳效果)
trananimation.setInterpolator(new BounceInterpolator());
imageview.startAnimation(trananimation);
三、RotateAnimation(旋转)
参数:
fromDegrees/toDegrees:开始/结束角度
pivotX/pivotY:分别为旋转动画相对于x,y的坐标开始位置(相对值)
注:区别与X,Y:是绝对坐标
//参数:从0度旋转100度,旋转中心坐标(100,100)
RotateAnimation rotateAnimation=new RotateAnimation(0, 180, 100, 100);
rotateAnimation.setDuration(2000);
imageview.startAnimation(rotateAnimation);
四、ScaleAnimation(放缩)
//参数:X轴从0.2倍放大到1倍(原图)Y轴也一样
ScaleAnimation scaleanimation=new ScaleAnimation(0.2f, 1f, 0.2f, 1f);
scaleanimation.setDuration(2000);
imageview.startAnimation(scaleanimation);
五、动画监听(setAnimationListener)
对位移动画添加动画监听器,动画完成就开始第二个动画
TranslateAnimation trananimation2=new TranslateAnimation(-imageview.getMeasuredWidth(), 0,0,100);
trananimation2.setDuration(2000);
//设置是否记录移动后的位置,true时动画将停留在原来位置
trananimation2.setFillAfter(true);
imageview.startAnimation(trananimation2);
//监听动画trananimation2,当它运行完时开始第二个动画AlphaAnimation
trananimation2.setAnimationListener(new AnimationListener() {
//监听动画开始时弹出TOAST
@Override
public void onAnimationStart(Animation animation) {
Toast.makeText(getApplicationContext(), "动画展示开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationRepeat(Animation animation) {
} //动画结束时开启第二个
@Override
public void onAnimationEnd(Animation animation) {
AlphaAnimation animation2=new AlphaAnimation(0.0f, 1.0f);
animation2.setDuration(2000);
animation2.setRepeatCount(2);
imageview.startAnimation(animation2);
}
});
六、AnimationSet动画组合
1、创建AnimationSet 2、添加动画
//创建几个动画效果
AlphaAnimation animation3=new AlphaAnimation(0.0f, 1.0f);
animation3.setDuration(2000);
animation3.setRepeatCount(2);
//创建AnimationSet 动画组合
AnimationSet set=new AnimationSet(true);
TranslateAnimation trananimation3=new TranslateAnimation(-imageview.getMeasuredWidth(), 0,0,100);
trananimation3.setDuration(2000);
RotateAnimation rotateAnimation2=new RotateAnimation(0, 360, 200, 200);
rotateAnimation2.setDuration(2000);
//添加组合动画
set.addAnimation(animation3);
set.addAnimation(trananimation3);
set.addAnimation(rotateAnimation2);
imageview.startAnimation(set);
转载链接http://blog.csdn.net/