您的位置:首页 > 移动开发 > Android开发

android Animation整理

2015-06-03 12:46 375 查看
Mark一下:

动画可以通过XML或Android代码来实现。

Animation动画效果的实现可以通过两种方式进行实现,tweened animation (渐变动画)和frame by frame animation (画面转换动画)。

android提供的animation有4类:

tweened animation渐变动画有以下两种类型:

1.alpha 渐变透明度动画效果

2.scale 渐变尺寸伸缩动画效果

frame by frame animation 画面转换动画有以下两种类型:

1.translate 画面转换位置移动动画效果

2.rotate 画面转移旋转动画效果

参考代码如下:

1.透明度动画

<!--?xml version="1.0" encoding="utf-8"?-->
<set xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 透明度控制动画效果 alpha
浮点型值:
fromAlpha 属性为动画起始时透明度  0.0表示完全透明
toAlpha   属性为动画结束时透明度  1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字

长整型值:
duration  属性为动画持续时间 以毫秒为单位
-->
</alpha></set>


2.放缩动画

<!--?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">
</scale></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方向坐标上的中点位置

长整型值:
duration  属性为动画持续时间   以毫秒为单位

布尔型值:
fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
-->


3.位移动画

<!--?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 时候,
默认是以自己为相对参照物
长整型值:
duration  属性为动画持续时间   以毫秒为单位
-->
</translate></set>


4.旋转动画

<!--?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度

说明:    当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)

pivotX     属性为动画相对于物件的X坐标的开始位置
pivotY     属性为动画相对于物件的Y坐标的开始位置

说明:  以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置

长整型值:
duration  属性为动画持续时间   以毫秒为单位
-->
</rotate></set>


xml文件一般放在res/anim/**.xml中

具体用法转其他文章

<!--
根节点的属性:名称 属性 备注
android:shareInterpolator 是否共享插入器 共享时,四个子节点都用一个插入器

android:interpolator 指定一个动画的插入器 使用系统资源

android:fillEnabled 当设置为true时,fillAfter和fill, Befroe将会都true,此时会忽略fillBefore 和fillAfter两种属性

android:fillAfter 该动画转化是否在动画结束后被应用 boolean

android:fillBefore 该动画转化是否在动画开始前被应用 boolean

android:repeatMode 重复模式 "restart" 或者 "reverse"

android:repeatCount 重复次数 integer,0标示不重复

android:duration 动画持续时间 integer,毫秒

android:startOffset 动画时间间隔 long

android:zAdjustment 定义动画z order的变换 [normal] or [top] or [bottom]

android:detachWallpaper  boolean
-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: