• 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>  

      程序代码效果:

      每个按钮对应不同的动画

      

      

      代码下载:下载

     

  • 相关阅读:
    通过日期获得星期方法
    去掉标签方法
    获取当前时间方法
    根据身份证计算年龄方法
    查询日志
    Vagrant打造Laravel开发环境(LNMP)
    mysql创建索引以及进程过程中出现的问题
    array_to_sql
    Linux创建快捷方式(链接)命令ln
    Mac搭建PHP Phalcon框架
  • 原文地址:https://www.cnblogs.com/liangstudyhome/p/3726873.html
Copyright © 2020-2023  润新知