time 
设为首页】【收藏本站
当前位置: 主页 > 电脑网络 > 操作系统 > 嵌入式 > Android > Android应用开发入门(六十七)Tween补间动画介绍及使用

Android应用开发入门(六十七)Tween补间动画介绍及使用

时间:2013-12-04 09:01 点击:2513次 字体:[ ]




前言

  Android除了支持逐帧动画之外,也提供了对补间动画的支持,补间动画就是指开发人员只需要指定动画的开始、动画结束的"关键帧",而动画变化的"中间帧"由系统计算并补齐。本文就讲解如何在Android下使用补间动画,最后将以简单的Demo来演示。

  本文的主要内容:

  1. Animation
  2. AlphaAnimation
  3. RotateAnimation
  4. ScaleAnimation
  5. TranslateAnimation
  6. AnimationSet
  7. Animation变化坐标点的参照类型
  8. Animation的Interpolator

 

Animation

  在Android中使用Tween补间动画需要得到Animation的支持,它处于"android.view.animation.Animation"包下,是一个抽象类,其中抽象了一些动画必须的方法,其子类均有对其进行实现,而在Android下完成补间动画也就是在操作Animation的几个子类。

  补间动画和逐帧动画一样,可以使用XML资源文件定义,也可以使用Java代码定义。下面提供一些常用Animation中定义的属性,同样都提供了XML属性以及对应的方法,它们主要用来设定补间动画的一些效果:

  • android:duration/setDuration(long):动画单次播放时间。
  • android:fillAfter/setFillAfter(boolean):动画是否保持播放开始位置。
  • android:fillBefore/setFillBefore(boolean):动画是否保持播放结束位置。
  • android:interpolator/setInterpolator(Interpolator):指定动画播放的速度曲线,不设定默认为匀速。
  • android:repeatCount/setRepeatCount(int):动画持续次数,如2,会播放三次。
  • android:repeatMode/setRepeatMode(int):动画播放模式。
  • android:startOffset/setStartOffset(long):动画延迟播放的时长,单位是毫秒。

  Animation中内置的方法并不只有这些,还有一些其他的控制细节的方法,有需要可以查询官方文档,这里不再详细讲解。

 

  上面提到,Android下对于补间动画的支持,主要是使用Animation的几个子类来实现,下面分别介绍Animation下的几个子类:

  • AlphaAnimation:控制动画透明度的变化。
  • RotateAnimation:控制动画旋转的变化。
  • ScaleAnimation:控制动画成比例缩放的变化。
  • TranslateAnimation:控制动画移动的变化。
  • AnimationSet:以上几种变化的组合。

  上面几个Animation也包含了补间动画的几种变化,如果需要使用XML资源文件定义补间动画,需要把XML资源文件定义在/res/anim/目录下,在需要使用的地方通过AnimationUtils.loadAnimation(int)方法指定XML动画ID来加载一段动画。AnimationUtils是动画工具类,其中实现了一些静态的辅助动画操作的方法。

  例如:

  1. /**  
  2.      * 透明度变化  
  3.      */ 
  4.     protected void toAlpha() {  
  5.         Animation anim=AnimationUtils.loadAnimation(ToXMLActivity.this, R.anim.anim_alpha);  
  6.         iv_anim.startAnimation(anim);  
  7.     } 

 



本文地址 : http://www.fengfly.com/plus/view-214169-1.html
标签: Android Tween
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: