关于android的动画网上介绍已经很多了,写的好的文章也有很多,自己记录一下关于补间动画的属性:
1.补间动画种类
java类名 xml 描述信息
AlphaAnimation 放置在res/anim/目录下 渐变透明度动画效果
RotateAnimation 放置在res/anim/目录下 画面转移旋转动画效果
ScaleAnimation 放置在res/anim/目录下 渐变尺寸伸缩动画效果
TranslateAnimation 放置在res/anim/目录下 画面转换位置移动动画效果
AnimationSet 放置在res/anim/目录下 一个持有其它动画元素alpha、scale、
translate、rotate或者其它set元素的容器
上面是关于补间动画的种类,关系以及作用。
2-1. Animation属性详解(xml和java方式)
xml属性 java方法 释义
android:detachWallpaper setDetachWallpaper(boolean) 是否在壁纸上运行
android:duration setDuration(long) 动画持续时间,毫秒为单位
android:fillAfter setFillAfter(boolean) 控件动画结束时是否保持动画最后的状态
android:fillBefore setFillBefore(boolean) 控件动画结束时是否还原到开始前的状态
android:fillEnabled setFillEnabled(boolean) 与android:fillBefore效果相同
android:interpolator setInterpolator(Interpolator) 设定插值器(指定的动画效果,
譬如回弹等)
android:repeatCount setRepeatCount(int) 重复次数
android:repeatMode setRepeatMode(int) 重复类型有两个值,reverse表示
倒序回放,restart表示从头播放
android:startOff setsetStartOffset(long) 调用start函数之后等待开始运行的
时间,单位为毫秒
android:zAdjustment setZAdjustment(int) 表示被设置动画的内容运行时在Z轴位置
(top/bottom/normal),默认为normal
上面的这些属性无论哪一种补间动画都是具备的,可以设置一个或多个,属于补间动画的通用属性。下面介绍每种补间动画的特有属性:
2-2-1.Alpha(透明变化,淡入淡出效果)属性详解
xml属性 java方法 释义
android:fromAlpha AlphaAnimation(float fromAlpha, …) 动画开始的透明度(0.0到
1.0,0.0是全透明,1.0是不透明)
android:toAlpha AlphaAnimation(…, float toAlpha) 动画结束的透明度,同上
2-2-2.Translate(位移)属性详解
xml属性 java方法 释义
android:fromXDelta TranslateAnimation(float fromXDelta, …) 起始点X轴坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)
android:fromYDelta TranslateAnimation(…, float fromYDelta, …) 起始点Y轴坐标(同上)
android:toXDelta TranslateAnimation(…, float toXDelta, …) 结束点X轴坐标(同上)
android:toYDelta TranslateAnimation(…, float toYDelta) 结束点Y轴坐标(同上)
2-2-3.Scale(缩放大小)属性详解
xml属性 java方法 释义
android:fromXScale ScaleAnimation(float fromX, …) 初始x轴缩放比例(0.0~1.0)
android:fromYScale ScaleAnimation(…, float fromY, …) 初始y轴缩放比例(0.0~1.0)
android:pivotX ScaleAnimation(…, float pivotX, …) 缩放起点x位置坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)
android:pivotY ScaleAnimation(…, float pivotY) 缩放起点y位置坐标,(同上)
android:toXScale ScaleAnimation(…, float toX, …) 结束x轴缩放比例(0.0~1.0)
android:toYScale ScaleAnimation(…, float toY, …) 结束y轴缩放比例(0.0~1.0)
2-2-4.Rotate(旋转)属性详解
xml属性 java方法 释义
android:fromDegrees RotateAnimation(float fromDegrees, …) 旋转开始角度,正代表顺时针度
android:pivotX RotateAnimation(…, float pivotX, …) 旋转起点X坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)
android:pivotY RotateAnimation(…, float pivotX, …) 旋转起点Y坐标,同上
android:toDegrees RotateAnimation(…, float toDegrees, …) 旋转结束角度,正代表顺时针度数
2-2-5 set标签以及AnimationSet详解
AnimationSet继承自Animation,是上面四种的组合容器管理类,没有自己特有的属性,他的属性继承自Animation,所以特别注意,当我们对set标签使用Animation的属性时会对该标签下的所有子控件都产生影响。
2-3 -1 Animation类的常用方法
Animation类的方法 释义
reset() 重置Animation的初始化
cancel() 取消Animation动画
start() 开始Animation动画
setAnimationListener(AnimationListener listener) 给当前Animation设置动画监听
hasStarted() 判断当前Animation是否开始
hasEnded() 判断当前Animation是否结束
2-3-2 View类的常用动画操作方法
既然补间动画只能给View使用,那就来看看View中和动画相关的几个常用方法吧,如下:
View类的常用动画方法 释义
startAnimation(Animation animation) 对当前View开始设置的Animation动画
clearAnimation() 取消当View在执行的Animation动画
记录一下。
源码地址:动画示例demo
网友评论