在 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. lua代码优化(转)

    暂时转了别人一篇,以后再优化 1.使用局部变量local 这是最基础也是最有用的策略,虽然使用全局变量并不能完全避免,但还是应该尽量避免,取而代之使用局部变量即local.这里的局部变量也包括函数fu ...

  2. Sightseeing tour

    Sightseeing tour Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8276 Accepted: 3489 Desc ...

  3. Ubiquitous Religions 分类: POJ 2015-06-16 17:13 11人阅读 评论(0) 收藏

    Ubiquitous Religions Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 26678   Accepted: ...

  4. Python 中对文件的输入输出

    #! /usr/bin/python # Filename:using_file.py poem = '''\ Programming is fun When the work is done if ...

  5. Multi-Perspective Sentence Similarity Modeling论文demo实现

    由于下载glove时,下载脚本并未自己执行txt文件转.th文件,在执行th trainSIC.lua时报错 需要根据fetch_and_preprocess.sh中的代码利用scripts中的con ...

  6. 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) B

    链接:http://codeforces.com/gym/101116 学弟做的,以后再补 #include <iostream> #include <stdio.h> #in ...

  7. Codeforces Round #366 (Div. 2) B

    Description Peter Parker wants to play a game with Dr. Octopus. The game is about cycles. Cycle is a ...

  8. 2016年11月28日 星期一 --出埃及记 Exodus 20:19

    2016年11月28日 星期一 --出埃及记 Exodus 20:19 and said to Moses, "Speak to us yourself and we will listen ...

  9. winform应用程序自动更新版本

    http://blog.csdn.net/gxxloveszj/article/details/8278187 http://www.cnblogs.com/x369/articles/105656. ...

  10. android sdk 国内镜像地址

    启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 在『Andro ...