zoukankan      html  css  js  c++  java
  • android 动画属性(一)之Animation

    Animation

      在android 程序当中很多时候要用到动画效果,而动画效果主要是Animation来实现的,API给出的解释:

      

     其中包含4种动画效果

      AlphaAnimation 渐变透明度

      RotateAnimation 画面旋转

      ScaleAnimation 渐变尺寸缩放

      TranslateAnimation 位置移动

     但如果你想把这些动画效果联合起来就需要用到一个类AnimationSet  动画集

     下面就对这几个类进行一个简单的解释:

      AlphaAnimation 的例子

    1     Animation alpha = new AlphaAnimation(0.1f, 1.0f);
    2             alpha.setDuration(2000);
    3             image.startAnimation(alpha);

      透明度从0.1f变化至1.0f, 变化所需要的事件为2s;

      RotateAnimation 的例子

    1 Animation rotate = new RotateAnimation(0f, 360f);
    2             rotate.setDuration(2000);
    3             image.startAnimation(rotate);

      从0度旋转至360度,持续时间是2S

      ScaleAnimation 的例子:

    Animation scale = new ScaleAnimation(0.1f, 1.0f, 0.1f, 1.0f);
                scale.setDuration(2000);
                image.startAnimation(scale);

         X轴上的长度从0.1变化至1.0f(view原本的宽度)

      Y轴上的长度从0.1变化至1.0f(view原本的长度)

      TranslateAnimation 的例子:

    1 Animation translate = new TranslateAnimation(
    2                     Animation.RELATIVE_TO_SELF, 1.0f,
    3                     Animation.RELATIVE_TO_SELF, 0.0f,
    4                     Animation.RELATIVE_TO_SELF, 1.0f,
    5                     Animation.RELATIVE_TO_SELF, 0.0f);
    6             translate.setDuration(2000);
    7             image.startAnimation(translate);

      AnimationSet的例子:

    Animation rotate1 = new RotateAnimation(0f, 360f);
                Animation translate1 = new TranslateAnimation(
                        Animation.RELATIVE_TO_SELF, 1.0f,
                        Animation.RELATIVE_TO_SELF, 0.0f,
                        Animation.RELATIVE_TO_SELF, 1.0f,
                        Animation.RELATIVE_TO_SELF, 0.0f);
                AnimationSet set = new AnimationSet(true);
                set.addAnimation(rotate1);
                set.addAnimation(translate1);
                set.setDuration(2000);
                image.startAnimation(set);

    除了再代码中添加动画外,还可以直接在xml文件中定义好动画,在直接调用就OK了,例如:

    1     <?xml version="1.0" encoding="utf-8"?>  
    2     <set xmlns:android="http://schemas.android.com/apk/res/android">  
    3         <alpha  
    4             android:fromAlpha="0.1"  
    5             android:toAlpha="1.0"  
    6             android:duration="2000"  
    7         />  
    8     </set>  

      程序代码效果:

      每个按钮对应不同的动画

      

      

      代码下载:下载

     

  • 相关阅读:
    优先队列用法详解
    chenzl
    2020面向对象程序设计寒假作业1
    1.自我介绍

    洛谷U32670 小凯的数字(比赛)
    洛谷1417 烹调方案
    高等软工课程总结
    西电B楼导航
    毕业前夕随想
  • 原文地址:https://www.cnblogs.com/liangstudyhome/p/3726873.html
Copyright © 2011-2022 走看看