在 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. 【转】Android WebView 播放视频总结

    今天发现 WebView里播放优酷的视频点击播放按钮后没反应,于是看官方文档和搜索解决,下面是我在别人基础上做的补充:   android webView 无法播放视频,无法暂停,继续播放视频问题,无 ...

  2. YTU 2987: 调整表中元素顺序(线性表)

    2987: 调整表中元素顺序(线性表) 时间限制: 1 Sec  内存限制: 2 MB 提交: 1  解决: 1 题目描述 若一个线性表L采用顺序存储结构存储,其中所有元素都为整数.设计一个算法,将所 ...

  3. malloc与kmalloc

    在设备驱动程序中动态开辟内存,不是用malloc,而是kmalloc,或者用get_free_pages直接申请页.释放内存用的是kfree,或free_pages. 对于提供了MMU(存储管理器,辅 ...

  4. Linux sync命令的作用

    adb shell sync 写缓存命令——sync 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作.经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确 ...

  5. (document).height()与$(window).height()区别

    jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用. 注意当浏览器窗口大小改变时(如最 ...

  6. linux 网络通信

    网络命令 历史上最早的即时通信 1 write linzhiling (内容) ctrl+D结束 这样一封信就写出去了,注意:只有用户在线才可以发送 2 wall (write all) 给所有的用户 ...

  7. client/offset/srooll位置与关系

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 2016年11月1日 星期二 --出埃及记 Exodus 19:17

    2016年11月1日 星期二 --出埃及记 Exodus 19:17 Then Moses led the people out of the camp to meet with God, and t ...

  9. jar文件签名

    1.生成密钥: keytool -genkey -keystore key.keystore -alias key -validity 3650 将在当前目录下生成一个key.keystore文件, ...

  10. spark记录

    Filtering multiple values in multiple columns: In the case where you're pulling data from a database ...