• Android动画之Tween动画


    1.介绍

      Tween Animation补间动画:给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。Android中Tween动画分为四类:渐变动画,位移动画,旋转动画和缩放动画。动画的定义既可以在xml文件中定义也可以在代码中定义。

    2.在xml中定义动画

     1.渐变动画

    在/res/anim目录下创建xml文件

    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromAlpha="1"
        android:repeatCount="infinite"
        android:repeatMode="reverse"
        android:toAlpha="0" />

    属性:

    android:fromAlpha:起点不透明度。其中0.0表示透明,1.0表示不透明。

    android:toAlpha:终点不透明度。

    android:repeateCount:重复次数,当为数值则重复次数为所对应的数值,infinite为无限次重复。

    android:repeateMode:重复模式,restart 透明-->不透明 reverse 透明-->不透明-->透明

    2.缩放动画

    在/res/anim目录下创建xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <scale xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="0"
        android:pivotY="0"
        android:toXScale="0"
        android:toYScale="0" />

    属性:
    android:povotX:缩放中心点的x坐标,android:pivotY:缩放中心点的Y坐标。

    3.位移动画

    在/res/anim目录下创建xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="100%p"
        android:toYDelta="100%p" />

    4.旋转动画

    在/res/anim目录下创建xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatMode="restart"
        android:toDegrees="720" />


    5.<set>标签表示多个动画的集合,使用多个动画以set为根标签

    /res/anim目录下创建xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <alpha
            android:duration="1000"
            android:fromAlpha="1"
            android:toAlpha="0" />
    
        <translate
            android:duration="1000"
            android:fromXDelta="0"
            android:fromYDelta="0"
            android:toXDelta="100%p"
            android:toYDelta="100%p" />
    
        <scale
            android:duration="1000"
            android:fromXScale="1"
            android:fromYScale="1"
            android:pivotX="0"
            android:pivotY="0"
            android:toXScale="0"
            android:toYScale="0" />
    
        <rotate
            android:duration="1000"
            android:fromDegrees="0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:repeatMode="restart"
            android:toDegrees="720" />
    
    </set>

    示例:https://files.cnblogs.com/malinkang/TweenAnimationDemo.zip

    参考

     http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html

    http://developer.android.com/intl/zh-CN/guide/topics/resources/animation-resource.html#Tween

  • 相关阅读:
    (二)建筑物多边形化简系列——多边形点数化简
    (一)建筑物多边形化简系列——去除噪点环
    (三)建筑物多边形化简系列——去除冗余点
    (五)建筑物多边形化简系列——最小外接矩形的获取
    vue笔记
    学习react基础知识(五)
    学习react基础知识(四)
    学习react基础知识(三)
    学习react基础知识(二)
    学习react基础知识(一)
  • 原文地址:https://www.cnblogs.com/malinkang/p/3053927.html
Copyright © 2020-2023  润新知