Android动画知识回顾--补间动画(一)

首先感谢启舰大神,本篇主要是对学习Android自定义控件三部曲过程中知识的回顾。

  • 从Animation类继承的属性

android:duration      动画持续时间,以毫秒为单位 
android:fillAfter     如果设置为true,控件动画结束时,将保持动画最后时的状态
android:fillBefore    如果设置为true,控件动画结束时,还原到开始动画前的状态
android:fillEnabled   与android:fillBefore 效果相同,都是在动画结束时,将控件还原到初始化状态
android:repeatCount   重复次数
android:repeatMode    重复类型,有reverse和restart两个值,reverse表示倒序回放,restart表示重放
android:interpolator  设定插值器,其实就是指定的动作效果,比如弹跳效果等

注意:必须与repeatCount一起使用才能看到效果。因为这里的意义是重复的类型,即回放时的动作。 

  • alpha、scale、translate、rotate、set的xml属性及用法 

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

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="1.0"     //动画开始的透明度,从0.0到1.0 、0.0表示全透明,1.0表示完全不透明
    android:toAlpha="0.1"       //动画结束时的透明度,也是从0.0、1.0 ,与fromAlpha属性相反
    android:duration="3000"     //动画执行的时间
    android:fillBefore="true">  //如果设置为true,控件动画结束时,还原到开始动画前的状态

</alpha>
  • scale属性
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0.0"  // 起始的X方向上相对自身的缩放比例,浮点值
    android:toXScale="1.4"    // 结尾的X方向上相对自身的缩放比例,浮点值
    android:fromYScale="0.0"  // 起始的Y方向上相对自身的缩放比例,浮点值
    android:toYScale="1.4"    // 结尾的Y方向上相对自身的缩放比例,浮点值
    android:pivotX="50"       // 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式
    android:pivotY="50"       // 缩放起点Y轴坐标,取值及意义跟android:pivotX一样
    android:duration="700">  

</scale>

注意:pivotX和pivotY的属性中三种数值的意义各有不同,比如 50、50%、 50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点; 如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p, 那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。

  • translate属性

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"  // 起始点X轴坐标,可以是数值、百分数、百分数p 三种样式
    android:toXDelta="-80"  // 起始点Y轴从标,可以是数值、百分数、百分数p 三种样式
    android:fromYDelta="0"  // 结束点X轴坐标
    android:toYDelta="-80"  // 结束点Y轴坐标
    android:duration="2000"
    android:fillBefore="true">

</translate>
  • rotate属性

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"   // 开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
    android:toDegrees="-650"  // 结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
    android:pivotY="50%"      // 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式    
    android:pivotX="50%"      // 缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式
    android:duration="3000"
    android:fillAfter="true">

</rotate>
  • set属性

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fillAfter="true">
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

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

    <rotate
        android:fromDegrees="0"
        android:toDegrees="720"
        android:pivotX="50%"
        android:pivotY="50%" />
</set>
发布了30 篇原创文章 · 获赞 13 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/wjr1949/article/details/105402502