视图动画使用比较简单!
共有四种动画方式
AlphaAnimation 透明度动画
RotateAnimation 旋转动画
TranslateAnimation 位移动画
ScaleAnimation 缩放动画
还有一个动画集合,可以把以上四种动画放在一起,形成一个综合的动画!
优点:使用简单,效率高
缺点:不具备交互性(当发生视图动画后,其响应事件的位置还在动画前的地方)
一. AlphaAnimation 透明度动画
构造器
AlphaAnimation(float fromAlpha, float toAlpha)
fromAlpha开始时的透明度
toAlpha结束时的透明度
0代表完全透明
1代表不透明
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
alphaAnimation.setDuration(2000);
textView.startAnimation(alphaAnimation);
二.RotateAnimation 旋转动画
构造器
RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
fromDegrees开始时的角度
toDegrees结束时的角度
pivotXType X轴坐标系的参考标准
RotateAnimation.RELATIVE_TO_SELF 以自身的左顶点为原点
RotateAnimation.RELATIVE_TO_PARENT 以父布局的左顶点为原点
pivotXValue 范围(0f-1f)0.5f 代表自身的一半
pivotYType Y轴坐标系的参考标准
pivotYValue 范围(0f-1f)0.5f 代表自身的一半
若不指定坐标系的类型和范围,默认是自身的左顶点
三.TranslateAnimation 位移动画
构造器
TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue)
fromXType 相对坐标系的类型
fromXValue 开始时的x轴的位置
…同上
四.ScaleAnimation 缩放动画
构造器
ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数解释同上…
动画集合
AnimationSet
可以添加多个动画
例如:animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(rotateAnimation);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
开启动画的方式:view.startAnimation(animationSet/alphaAnimation…);
动画的监听回调
animationSet.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
Toast.makeText(CeshiActivity.this, "动画开始时", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationEnd(Animation animation) {
Toast.makeText(CeshiActivity.this, "动画结束时", Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationRepeat(Animation animation) {
Toast.makeText(CeshiActivity.this, "动画重复时", Toast.LENGTH_SHORT).show();
}
});
好了,就是这么简单,来试试吧!