在 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. 山东理工大学第七届ACM校赛-字符的变化 分类: 比赛 2015-06-26 10:32 46人阅读 评论(0) 收藏

    字符的变化 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 一个长度为n(1<=n<=1000)的字符串(只包含小写字 ...

  2. python中给for循环增加索引

    for index, item in enumerate(Foo()): print "index: ", index, " item: ",item 用enu ...

  3. python请求java Selenium Webdriver

    下载jar包: selenium-server-standalone-2.44.0.jar 运行jar包: java -jar selenium-server-standalone-2.44.0.ja ...

  4. Thread的六种状态

    线程共有6种状态:在某一时刻只能是这6种状态之一.这些状态由Thread.State这个枚举类型表示,并且可以通过getState()方法获得当前具体的状态类型. 包括(new,runnable,bl ...

  5. 基于kickstart定制自动化安装的linux镜像系统

    使用软件和平台 1.基于平台:                  Vmware workstation 8.0 2.基于系统镜像:               rhel-server-5.8-i386 ...

  6. Android 内部存储和外部存储

    应用程序的一些配置文件需要存储在手机上.一般分为内部存储和SD卡存储. 一. 内部存储 ,以 FileOutputStream File file = new File(getFilesDir(),& ...

  7. Android 基础

    1. 安卓的平台构建 例如我的手机 内核版本就是ubuntu  为手机硬件提供各种驱动. 架构的简单理解: Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包 ...

  8. CodeForces 496B Secret Combination

    Secret Combination Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u ...

  9. require或include相对路径多层嵌套引发的问题

    require或include相对路径多层嵌套引发的问题   php中require/include 包含相对路径的解决办法 在PHP中require,include一个文件时,大都是用相对路径,是个 ...

  10. 可以考虑使用SublimeText编辑器替代notepad++了

    大概是去年吧,这款编辑器神一般的出现在我面前,经过我小心翼翼的试用后发现并不是那么太顺手,插件配置都不太成熟,如Package Control. 最喜欢用它的zencoding还得专门开个小窗:ang ...