参考了网上一个被转载很多次的帖子,加入了自己的理解。
动画
动画效果编程基础
基本动画属性
|
属性名字 |
和Animation类中对应方法 |
Description |
|
android:duration |
setDuration(long) |
Amount of time (in milliseconds) for the animation to run. 动画持续的时间 |
|
android:fillAfter |
setFillAfter(boolean) |
When set to true, the animation transformation is applied after the animation is over. True:动画结束以后保持在最后一帧的状态 false:动画结束以后保持在第一帧的状态 xml中不起作用,java中有效
默认是false
这个元素要设置在set的根元素中 |
|
android:fillBefore |
setFillBefore(boolean) |
When set to true, the animation transformation is applied before the animation has started.
:fillAfter完全相反, 默认值是true; 这个元素要设置在set的根元素中 |
|
android:fillEnabled |
setFillEnabled(boolean) |
When set to true, fillAfter is taken into account. 这一项fillAfter才起作用 貌似不起作用 |
|
android:interpolator |
setInterpolator(Interpolator) |
Defines the interpolator used to smooth the animation movement in time. |
|
android:repeatCount |
setRepeatCount(int) |
Defines how many times the animation should repeat. 重绘次数 如果是小于0则是无限重复 |
|
android:repeatMode |
setRepeatMode(int) |
Defines the animation behavior when it reaches the end and the repeat count is greater than 0 or infinite. 重绘的方案 restart reverse |
|
android:startOffset |
setStartOffset(long) |
Delay in milliseconds before the animation runs, once start time is reached. 延后启动n毫秒 Repeat的时候每一次都会停 |
|
android:zAdjustment |
setZAdjustment(int) |
Allows for an adjustment of the Z ordering of the content being animated for the duration of the animation. 调整动画的zindex
|
透明动画
alpha
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/>
<!-- 透明度控制动画效果 alpha
浮点型值:
fromAlpha 属性为动画起始时透明度
toAlpha 属性为动画结束时透明度
说明:
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字
长整型值:
duration 属性为动画持续时间
说明:
时间以毫秒为单位
-->
</set>
<scale>标签:控制大小的变化
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator=
"@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.4"
android:fromYScale="0.0"
android:toYScale="1.4"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="700" />
</set>
<!-- 尺寸伸缩动画效果 scale
属性:interpolator 指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator 加速-减速 动画插入器
accelerate_interpolator 加速-动画插入器
decelerate_interpolator 减速- 动画插入器
其他的属于特定的动画效果
浮点型值:
fromXScale 属性为动画起始时 X坐标上的伸缩尺寸
toXScale 属性为动画结束时 X坐标上的伸缩尺寸
fromYScale 属性为动画起始时Y坐标上的伸缩尺寸
toYScale 属性为动画结束时Y坐标上的伸缩尺寸
说明:
以上四种属性值
0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
pivotX 属性为动画相对于物件的X坐标的开始位置
pivotY 属性为动画相对于物件的Y坐标的开始位置
说明:
以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置
可以取负值比如-10%
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
布尔型值:
fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
-->
< rotate > 旋转
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="+350"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000" />
<!-- rotate 旋转动画效果
属性:interpolator 指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator 加速-减速 动画插入器
accelerate_interpolator 加速-动画插入器
decelerate_interpolator 减速- 动画插入器
其他的属于特定的动画效果
浮点数型值:
fromDegrees 属性为动画起始时物件的角度
toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
说明:
fromDegrees> toDegrees逆时针,反之顺时针,大于360同样适用
角度差越大速度越快。
pivotX 属性为动画相对于物件的X坐标的开始位置
pivotY 属性为动画相对于物件的Y坐标的开始位置
说明: 以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置
可以取负值比如-10%
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
-->
</set>
<translate>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="30"
android:toXDelta="-80"
android:fromYDelta="30"
android:toYDelta="300"
android:duration="2000"
/>
<!-- translate 位置转移动画效果
整型值:
fromXDelta 属性为动画起始时 X坐标上的位置
toXDelta 属性为动画结束时 X坐标上的位置
fromYDelta 属性为动画起始时 Y坐标上的位置
toYDelta 属性为动画结束时 Y坐标上的位置
注意:
没有指定fromXType toXType fromYType toYType 时候,
默认是以自己为相对参照物
长整型值:
7429

被折叠的 条评论
为什么被折叠?



