在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画,接下来eoe进行讲解。

tweened animation 渐变动画有以下两种类型:

1.alpha   渐变透明度动画效果

2.scale   渐变尺寸伸缩动画效果

frame by frame animation 画面转换动画有以下两种类型:

1.translate  画面转换位置移动动画效果

2.rotate    画面转移旋转动画效果

在 res 文件夹下新建一个 anim 的文件夹,并在其中建立一个 animation.xml 文件,具体如下:

 
     
      
   
      
    xmlns:android="http://schemas.android.com/apk/res/android">  
      
           
      
                 android:fromXDelta="0"              // 设置动画开始时 x 坐标的位置  
     
                 android:toXDelta="-100%p" // 设置动画结束时 x 坐标的位置  
    
                 android:duration="300"        // 设置动画持续的时间 300 毫秒  
     
          >  
     
           
     
         
     
                 android:fromAlpha="1.0"            // 设置动画开始时的透明度   1.0 代表不透明  
     
                 android:toAlpha="0.0"   // 设置动画开始时的透明度   0.0 表示完全透明  
     
                 android:duration="300" // 设置动画持续的时间 300 毫秒  
     
          />  
     
         
     
             android:interpolator="              // 设置动画出入器  
     
   @android:anim/accelerate_decelerate_interpolator"  
     
             android:fromXScale="0.0"       // 设置动画开始时 x 坐标上的伸缩长度  
     
             android:toXScale="1.4"            // 设置动画结束时 x 坐标上的伸缩长度  
     
             android:fromYScale="0.0"       // 设置动画开始时 y 坐标上的伸缩长度  
     
             android:toYScale="1.4"     // 设置动画开始时 y 坐标上的伸缩长度  
     
             android:pivotX="50%"      // 设置动画相对于控件的 x 坐标的位置  
     
             android:pivotY="50%"      // 设置动画相对于控件的 y 坐标的位置  
     
             android:fillAfter="false"    // 该动画转化在动画结束前开始应用  
     
             android:duration="700" // 设置动画持续的时间  
     
   />  
     
       
     
           android:interpolator=            // 设置动画出入器  
     
   "@android:anim/accelerate_decelerate_interpolator"  
     
           android:fromDegrees="0"     // 设置动画开始时的角度  
     
           android:toDegrees="+350"           // 设置动画结束时的旋转角度  
    
           android:pivotX="50%"         // 设置动画相对于控件的 x 坐标的位置  
     
           android:pivotY="50%"         // 设置动画相对于控件的 y 坐标的位置  
     
           android:duration="3000"       // 设置动画持续的时间  
     
       />  
     
     
 
 
  利用 AnimationUtils.loadAnimation 将动画加载。
    Animation animation;  
      
    animation=AnimationUtils.loadAnimation(this, R.anim.animation);  
     
    // 然后再想要实现动画效果的控件上通过使用 startAnimation() 方法进行添加。  
      
    // 编写动画对象,并且获取自定应的动画样式  
      
    animation=AnimationUtils.loadAnimation(this, R.anim.animation);  
     
           spinner.setOnTouchListener(new Spinner.OnTouchListener() {  
     
                         
     
                        @Override  
     
                        public boolean onTouch(View v, MotionEvent event) {  
     
                               // TODO Auto-generated method stub  
     
                               // 运行动画 animation  
     
                               v.startAnimation(animation);  
     
                               // 将 spinner 的可见性设置为不可见状态  
     
                               v.setVisibility(View.INVISIBLE);  
     
                               return false;  
     
                        }  
     
                 });  

Android中xml设置Animation动画效果详解的更多相关文章

  1. Android 中各种权限深入体验及详解

    Android 中各种权限深入体验及详解 分类: Android2012-07-15 19:27 2822人阅读 评论(0) 收藏 举报 androidpermissionsinstallersyst ...

  2. android中设置Animation 动画效果

    在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...

  3. Android 吸入动画效果详解

    1,背景 吸入(Inhale)效果,最初我是在iOS上面看到的,它是在Note程序中,用户可能添加了一页记录,在做删除时,它的删除效果是:这一页内容吸入到一个垃圾框的图标里面.请看下图所示: ==== ...

  4. 动画_ _ Android应用开发之所有动画使用详解

    转载: http://blog.csdn.net/yanbober/article/details/46481171 题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把 ...

  5. Android应用开发之所有动画使用详解

    题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的.消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近 ...

  6. Android中Serializable和Parcelable序列化对象详解

    学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcelable进行序列化操作 5.P ...

  7. android中3种实现动画效果的方法

    3中实现动画的方法:ImageView imgView = (ImageView)findViewById(R.id.imageView_logo); //第一种动画方法,使用AlphaAnimati ...

  8. Android中的ImageView的scaleType属性详解

    ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等. 设置的方式包括: 1. 在layout xml中定义android:s ...

  9. Android中的Coroutine协程原理详解

    前言 协程是一个并发方案.也是一种思想. 传统意义上的协程是单线程的,面对io密集型任务他的内存消耗更少,进而效率高.但是面对计算密集型的任务不如多线程并行运算效率高. 不同的语言对于协程都有不同的实 ...

随机推荐

  1. js笔记---封装自己的Ajax方法

    //地址 成功方法 失败方法function Ajax(url, funsucc, funfial) { var oAjax = null; if (window.XMLHttpRequest) { ...

  2. python项目练习3:万能的XML

    1.目的 如何用XML来表示多种数据,以及如何使用适合XML或SAX的简单API来处理XML文本.目标是通过一个描述各种网页和目录的XML文件生成一个完整的网站. 注:有关XML的描述参见http:/ ...

  3. poj1703 Find them, Catch them

    并查集. 这题错了不少次才过的. 分析见代码. http://poj.org/problem?id=1703 #include <cstdio> #include <cstring& ...

  4. UML建模的要点总结

    预备知识: 一.UML的特性与发展现状 UML是一种Language(语言) UML是一种Modeling(建模)Language UML是Unified(统一)Modeling Language 1 ...

  5. 再谈C++继承

    一.三种继承方式 private 基类的公有成员与保护成员成为派生类的私有成员 public   基类的成员访问权限不变 protected  基类的公有成员与保护成员将成为派生类的保护成员 二.三种 ...

  6. 加载页面(Loading)

    /* 文件说明:页面加载时Loading JS 文件描述:解决IE或FF下,初始化加载时,页面布局乱掉的问题,参考:*/var width = $(window).width();var height ...

  7. Python 主要模块和常用方法简览

    ******************** PY核心模块方法 ******************** 文件系统功能 os模块 目录:      chdir() :改变工作目录       chroot ...

  8. PHP 对字符串进行十六进制替换 invalid character in attribute value

    最近在xml传输过程中遇到字符串报错,表面看上去没有任何错误.将文件用winhex打开,看到对应字符串中多了'1F'.xml无法解析'1F'.随后在代码中将这个替换掉. $str = pack(&qu ...

  9. Python3基础 三元表达式实例

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  10. GHOST系统锁定主页常用软件及解决方案

    网络下载的GHOST系统,很多锁定主页,无法用360等更改,卸载里面也不含有锁定主页的软件名称.其中常用的锁定的主页的软件有: 1.百度组件. 一般在C盘含有BAIDU的文件夹内,找到卸载即可. 2. ...