zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    清除页面广告?身为前端,自己做一款简易的Chrome扩展吧
    Nginx 引入线程池,提升 9 倍性能
    调试时屏蔽JavaScript库代码 –Chrome DevTools Blackbox功能介绍
    收集的React.JS资料
    谈谈 React.js 的核心入门知识
    同时包含字母和数字的正则表达式
    Word2010撤销按钮失效,Ctrl+Z失效解决办法
    大数据于产业金融领域的运用究竟如何很好的实现
    HTTP 错误 500.19
    WindowsServer2012桌面图标设置
  • 原文地址:https://www.cnblogs.com/malinkang/p/3053927.html
Copyright © 2011-2022 走看看