Android之动画Animation的使用

Android动画主要分为两种:帧动画和补间动画
一、帧动画:就像放映电影一样;
使用步骤:
1,在res中创建文件夹drawable
2,在此文件夹下面创建文件(例如:frame_animation_useing.xml)
创建时选取标签
frame_animation_useing.xml:

android:oneshot="false"
android:variablePadding="false"
android:visible="true" >

<!--
visible              boolean型,是否显现
variablePadding   boolean型,默认为false,当设置为true时,则drawable的padding值随当前选择的状态而改变。
oneshot              帧动画的自动执行,如果为true,表示动画只执行一次停止在最后一帧上;若为false表示动画循环播放     

-->
<item
    android:drawable="@drawable/a"
    android:duration="100"
    />
<item
    android:drawable="@drawable/b"
    android:duration="100"/>
<item
    android:drawable="@drawable/c"
    android:duration="100"/>
<item
    android:drawable="@drawable/d"
    android:duration="100"/>
<item
    android:drawable="@drawable/e"
    android:duration="100"/>
<item
    android:drawable="@drawable/f"
    android:duration="100"/>

二、补间动画:
补间动画又分为四大类:
移动补间动画,
缩放补间动画,
旋转补间动画,
透明补间动画。
使用步骤:
1,在res中创建anim文件夹
2,在此文件夹下创建(如:tween_alpha_useing)
详细介绍:

<!-- 
    android:oneshot        帧动画的自动执行,为true时,动画只执行一次停在最后一帧上;为false时循环执行
 -->
<!-- shareInterpolator   所有的Animation共用一个Interpolator  -->
<!-- android:repeatCount  重复次数  0,1.。。infinite-->

<!-- 补间动画 -->

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

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

        android:fillBefore    指动画结束时画面停留在此动画的第一帧; 默认值为true
        android:fillAfter    指动画结束是画面停留在此动画的最后一帧。默认值为false
        android:fillEnabled
            1,FillEnable = false 时,FillBefore 和FillAfter的值将被忽略,此时FillEnable=Flase时和FillBefore = true且FillAfter=true,
            且FillEnabled=true等价,也就是开始结束都会被fill坑爹。。。,一般写成false
            2,FillEnable = true时,FillBefore = true,FillAfter = false;只在第一帧fill
            3,FillEnable = true时,FillBefore = false,FillAfter=true;只在最后一帧fill
            4,FillEnable = true时,FillBefore = false,FillAfter=false

      startOffset    设置启动时间
-->
<alpha
    android:duration="3000"
    android:fromAlpha="0.1"
    android:toAlpha="1.0" 
    android:fillBefore="true"
    android:fillAfter="true"
    android:fillEnabled="true"/>







<!--
     尺寸伸缩动画效果 scale
    interpolator  指定一个动画的插入器
        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 ,该动画转化在动画结束后被应用

-->
<scale
    android:duration="3000"
    android:fillAfter="true"
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:pivotX="20%"
    android:pivotY="30%"
    android:toXScale="0.8"
    android:toYScale="0.6" />




<!--
     位置转移动画效果  translate
        fromXDelta 属性为动画起始时 X坐标上的位置    
        toXDelta   属性为动画结束时 X坐标上的位置
        fromYDelta 属性为动画起始时 Y坐标上的位置
        toYDelta   属性为动画结束时 Y坐标上的位置
               注意:
                  没有指定fromXType toXType fromYType toYType 时候,
                  默认是以自己为相对参照物             

        duration  属性为动画持续时间(时间以毫秒为单位)

-->
<translate
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:toXScale="0.8"
    android:toYScale="0.6" 
    android:duration="3000"/>




<!-- 
    旋转动画效果 rotate
        interpolator 指定一个动画的插入器
                 有三种动画插入器:
                    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 
     android:interpolator="@android:anim/accelerate_decelerate_interpolator"
     android:fromDegrees="0.0"
     android:toDegrees="120"
     android:pivotX="20%"
     android:pivotY="30%"
     android:duration="3000"
     />

代码下载地址:https://git.oschina.net/22889/Android_Animation.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值