android Animation整理

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
-->

 

posted @ 2015-06-03 12:46  冰雪一舟  阅读(193)  评论(0编辑  收藏  举报