在 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 文件,具体如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <set
  4.  
  5. xmlns:android="http://schemas.android.com/apk/res/android">
  6.  
  7. <translate
  8.  
  9. android:fromXDelta="0" // 设置动画开始时 x 坐标的位置
  10.  
  11. android:toXDelta="-100%p" // 设置动画结束时 x 坐标的位置
  12.  
  13. android:duration="300" // 设置动画持续的时间 300 毫秒
  14.  
  15. >
  16.  
  17. </translate>
  18.  
  19. <alpha
  20.  
  21. android:fromAlpha="1.0" // 设置动画开始时的透明度 1.0 代表不透明
  22.  
  23. android:toAlpha="0.0" // 设置动画开始时的透明度 0.0 表示完全透明
  24.  
  25. android:duration="300" // 设置动画持续的时间 300 毫秒
  26.  
  27. />
  28.  
  29. <scale
  30.  
  31. android:interpolator=" // 设置动画出入器
  32.  
  33. @android:anim/accelerate_decelerate_interpolator"
  34.  
  35. android:fromXScale="0.0" // 设置动画开始时 x 坐标上的伸缩长度
  36.  
  37. android:toXScale="1.4" // 设置动画结束时 x 坐标上的伸缩长度
  38.  
  39. android:fromYScale="0.0" // 设置动画开始时 y 坐标上的伸缩长度
  40.  
  41. android:toYScale="1.4" // 设置动画开始时 y 坐标上的伸缩长度
  42.  
  43. android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置
  44.  
  45. android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置
  46.  
  47. android:fillAfter="false" // 该动画转化在动画结束前开始应用
  48.  
  49. android:duration="700" // 设置动画持续的时间
  50.  
  51. />
  52.  
  53. <rotate
  54.  
  55. android:interpolator= // 设置动画出入器
  56.  
  57. "@android:anim/accelerate_decelerate_interpolator"
  58.  
  59. android:fromDegrees="0" // 设置动画开始时的角度
  60.  
  61. android:toDegrees="+350" // 设置动画结束时的旋转角度
  62.  
  63. android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置
  64.  
  65. android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置
  66.  
  67. android:duration="3000" // 设置动画持续的时间
  68.  
  69. />
  70.  
  71. </set>

利用 AnimationUtils.loadAnimation 将动画加载。

  1. Animation animation;
  2.  
  3. animation=AnimationUtils.loadAnimation(this, R.anim.animation);
  4.  
  5. // 然后再想要实现动画效果的控件上通过使用 startAnimation() 方法进行添加。
  6.  
  7. // 编写动画对象,并且获取自定应的动画样式
  8.  
  9. animation=AnimationUtils.loadAnimation(this, R.anim.animation);
  10.  
  11. spinner.setOnTouchListener(new Spinner.OnTouchListener() {
  12.  
  13. @Override
  14.  
  15. public boolean onTouch(View v, MotionEvent event) {
  16.  
  17. // TODO Auto-generated method stub
  18.  
  19. // 运行动画 animation
  20.  
  21. v.startAnimation(animation);
  22.  
  23. // 将 spinner 的可见性设置为不可见状态
  24.  
  25. v.setVisibility(View.INVISIBLE);
  26.  
  27. return false;
  28.  
  29. }
  30.  
  31. });

android中设置Animation 动画效果的更多相关文章

  1. Android中xml设置Animation动画效果详解

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

  2. 【Android 基础】Animation 动画介绍和实现

    在前面PopupWindow 实现显示仿腾讯新闻底部弹出菜单有用到Animation动画效果来实现菜单的显示和隐藏,本文就来介绍下吧. 1.Animation 动画类型 Android的animati ...

  3. Android中设置TextView的颜色setTextColor

    tv.setTextColor(Color.parseColor("#FFFFFF")); tv.setTextColor(Color.WHITE); tv.setTextColo ...

  4. Android中实现ListView圆角效果[转]

    本文演示如何Android中实现ListView圆角效果. 无论是网站,还是APP,人们都爱看一些新颖的视图效果.直角看多了,就想看看圆角,这几年刮起了一阵阵的圆角设计风:CSS新标准纳入圆角元素,特 ...

  5. 模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果)

    模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果) 效果图: 切图地址: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zg ...

  6. jQuery中的渐变动画效果

    jQuery中的渐变动画效果jQuery中的渐变动画效果

  7. 【转】Android中设置TextView的颜色setTextColor--代码中设置字体颜色

    原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...

  8. 【转】Android中设置TextView的颜色setTextColor

    原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...

  9. Android Acitivy切换平移动画效果实现

    1.在anim目录下新建anim文件夹,新建tran_in.xml和tran_out.xml分别表示下一页切换进入,和本页切换出去. 即in表示下一页向左平移,out表示同样向左平移至消失. tran ...

随机推荐

  1. 安卓、java开发软件官网和相关不错的网站软件下载地址

    java:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html eclipse:htt ...

  2. Objective-C 【autorelease基本使用】

    ------------------------------------------- NSString中的内存管理问题 由于autoreleasepool的存在,对于内存管理就会很复杂,retain ...

  3. div 显示与隐藏

    visibility隐藏的对象还保留对象显示时所占的物理空间,display则不保留.可以保存下面的代码看看效果: 具体步骤: 代码示例: <div style="border:1px ...

  4. PHP的final、抽象类和方法

    final关键字的用法 final class Computer{ //无法继承的类 final public function run(){ //无法继承的方法 } } class NoteBook ...

  5. [Bootstrap]组件(三)

    输入框组 添加额外元素.input-group-addon 外包元素.input-group>input-group-addon+form-control <div class=" ...

  6. Android四大组件之一:Service(服务)

    Service跟Activity也是出于统一级别的组件,且与Activity的最大区别之一主要是没有人机界面,主要是运行在程序的后台(我是这么理解的),帮助文档上说的是运行于进程的主线程中,但是服务并 ...

  7. pancake的排序- 1.3 一摞烙饼的排序 《编程之美》读书笔记03

    问题:     星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:“我以前在餐馆打工,顾客经常点非常多的烙饼.店里的饼大小不一, ...

  8. Java RMI 远程方法调用

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  9. jQuery遮罩层的实现

    遮罩层其实就是一个占据整个页面的半透明效果的页面元素,一般用div实现.页面中实现遮罩层,无非就是为了让用户只能操作弹出窗口的内容,而不允许操作弹出窗口外的内容. 在实现时,我使用了两个div,一个遮 ...

  10. ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()

    FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一个目录,因为在家里,我需要给媳妇下载一些电影 韩剧之类的东西,媳妇会来我机器下载,但 ...