Android四种补间动画介绍及实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/romanstatic/article/details/52492786
    一.Android的animation由四种类型组成:alpha、scale、translate、rotate

  alpha       渐变透明度动画效果
  scale       渐变尺寸伸缩动画效果
  translate   画面转换位置移动动画效果
  rotate      画面转移旋转动画效果

二。属性:

动画基类Animation支持的XML属性
 duration:一次动画的执行耗时;
 startOffset:动画从startTime到真正执行的等待事件,也就是开始偏移时间量;
 fillEnabled:表示动画开始前和结束后是否还继续应用动画的转化效果,默认false;
 fillBefore:动画开始执行前是否应用动画的转化效果,默认true;但受fillEnabled影响:fillEnabled=false,此方法值的false无效而true有效;fillEnabled=true,此方法的true/false都有效                 
 fillAfter:动画结束执行后是否应用动画的转化效果,默认false;也受fillEnabled影响 fillEnabled=false,此方法的false无效而true有效,fillEnabled=true,此方法true/false          都有效;
 repeatCount:动画重复执行次数
 repeatMode:动画重复执行时的模式,可以指定重复执行是从头执行或者逆序执行到头
 zAdjustment:动画执行过程中待执行动画的View的展示层次
 background:动画执行过程中的背景
detachWallpaper:如果动画是Window动画,而Window设置了背景,则此值true表示Window展示动画,而背景保持不动,不执行动画;false表示背景和Window一起执行动画;
interpolator:动画的插值器

三。Alpha Xml属性
            android:fromAlpha   动画开始的透明度,从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明
                        android:toAlpha     动画结束时的透明度,也是从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明

四。Scale Xml属性
            android:fromXScale    起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍;
                android:toXScale        结尾的X方向上相对自身的缩放比例,浮点值;
                android:fromYScale    起始的Y方向上相对自身的缩放比例,浮点值,
                        android:toYScale        结尾的Y方向上相对自身的缩放比例,浮点值;
                         android:pivotX            缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,                             即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p,那么就是表示在当前的左上角加上                             父控件宽度的50%做为起始点x轴坐标。
                         android:pivotY           缩放起点Y轴坐标,取值及意义跟android:pivotX一样。
五。Rate Xml属性
        android:fromDegrees     开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
                android:toDegrees         结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
                android:pivotX               缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,
                android:pivotY               缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p
六。Transalte Xml属性:
            android:fromXDelta     起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,
                android:fromYDelta    起始点Y轴从标,可以是数值、百分数、百分数p 三种样式;
                android:toXDelta         结束点X轴坐标
                android:toYDelta        结束点Y轴坐标
七。应用:
    在res目录下建立新文件夹取名为anim,在此文件夹中分别建立 对应的xml文件,选择对应的类型;例如欲实现透明度变换效果,则在anim下建立alpha_anim文件
选择alpha,在xml文件中实现对应的属性,里面只需要<alpha       />即可,不需要<alpha  ></alpha>

        例如:
        <?xml version="1.0" encoding="utf-8"?>
            <alpha   xmlns:android="http://schemas.android.com/apk/res/android"
             android:fromAlpha = "1.0"
                android:toAlpha = "0.1"
                android:duration="3000"  
         android:fillBefore="true"/>

    重点注意set文件,这个文件相当于一个集合,里面你可以添加多种动画类型,为方便起见,可以把共有的继承Animation属性放在set标签内,其余单个编写各自的属性
        例如:<?xml version="1.0" encoding="utf-8"?>
            <set xmlns:android="http://schemas.android.com/apk/res/android"
             android:duration="1500"
                android:fillBefore="true"
                android:repeatCount="2"
               android:repeatMode="restart"
                >
              <alpha
                 android:fromAlpha="0.1"
                  android:toAlpha="1.0"
                  />

                <scale 
                 android:fromXScale="0.0"
                android:toXScale="2.0"
                android:fromYScale="0.0"
                 android:toYScale="2.0"
                 android:pivotX="50%"
                 android:pivotY="50%"
                  />
            </set>

将动画效果绑定控件;
    利用Animation animation = AnimationUtils.loadAnimation(this, R.anim.scale_anim);将对应的动画类型得到
    接下来只需要利用  类似的控件的实例化对象开启动画的形式开启动画 textview.startAnimation(animation)
展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页