android动画基础
animation动画通常是对图片进行透明度渐变,尺寸渐变,位置移动,旋转,这四个动作进行处理。
透明度渐变:alpha
尺寸渐变:scale
位置移动:translate
旋转:rotate
两种方式定义动画:xml定义,java代码定义
xml的常规写法:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha/>
<scale/>
<translate/>
<rotate/>
<set/>
java代码定义
AnimationUtils.loadAnimation 静态方法调用xml文件,再通过控件的startAnimation方法将静态方法返回的animation设置进去。
AlphaAnimation 控制渐变透明的动画效果
1.android: fromAlpha 动画起始时的透明度
2.android: toAlpha 动画结束时的透明度
ScaleAnimation 控制尺寸伸缩的动画效果
1.android:fromXScale 动画起始时x坐标的伸缩尺寸
2.android:toXScale 动画结束时X坐标的伸缩尺寸
3.android:fromYScale 动画起始时Y坐标的伸缩尺寸
4.android:toYScale 动画结束时Y坐标的伸缩尺寸
说明: 以上四个属性的设置值为float 0.0 表示收缩到没有,1.0 表示大小为默认大小,大于1.0 表示放大,小于1.0 则是缩小
5.android:pivotX 动画开始时X坐标的起始位置
6.android:pivotY 动画开始时Y坐标的起始位置
说明: 以上两个值设置值为: 0% ~ 100%。
TranslateAnimation 控制画面平移的动画效果
1.android:fromXDelta 动画起始时x坐标的位置
2.android:toXDelta 动画结束时x坐标的位置
3.android:fromYDelta 动画起始时x坐标的位置
4.android:toYDelta 动画起始时x坐标的位置
说明:以上四种属性可以设置三种值。 1. 普通像素值 2. 数字+% 相对于元素自身的宽度或者高度 (x为宽度,y为高度)3. 数字+%p 相对于元素自身的宽度或者 高度 (x为宽度,y为高度)
RotateAnimation 控制画面角度变化的动画效果
1.android:fromDegrees 动画起始时元素的角度
2.android:toDegrees 动画结束时元素的角度
说明:当角度为负数——表示逆时针旋转,当角度为正数——表示顺时针旋转 。
3.android:pivotX 相对于元素x坐标的开始位置
4.android:pivotY 相对于元素y坐标的开始位置
说明: 以上两种属性可以设置三种类型值- 1. float : 相对于对象左边缘或者上边缘的像素值 (例如:5 )2. 数字+% : 相对于元素本身的左边缘或者上边缘的百分比 (如: 5%)3. 数字+%p: 相对于父容器的左边缘或者上边缘的百分比 (如: 5%)
一些公用属性:
android:duration 动画持续时间,单位:毫秒
android:fillAfter 设置为true时,当动画结束会应用此动画变形
android:fillBefore 设置为true时,当动画开始时会应用此动画变形
android:repeatCount 动画重复次数
android:repeatMode 定义动画重复行为。RESTART: 重新开始 REVERSE:反向
上一篇: 小节
下一篇: Android animation 示例