Android 动画系列之补间(Tween)动画详解

本文详细介绍了Android中的补间动画(Tween),包括Animation的属性、Alpha、Rotate、Scale、Translate属性和AnimationSet的使用。还探讨了补间动画与Interpolator的关系,解释了Interpolator如何控制动画变化速度,提供了不同动画速度的实现类示例。
摘要由CSDN通过智能技术生成

转载请标明出处: http://blog.csdn.net/Airsaid/article/details/51591239
本文出自:周游的博客

前言

上一篇博客中写了逐帧动画(Frame)的使用,Android中除了支持逐帧动画(Frame)之外,也提供了对补间(Tween)动画的支持。补间动画就是指开发者只需要指定动画的开始、结束等“关键帧”,而动画的变化的“中间帧”则由系统计算并补齐。这也是“补间”二字的来意。

补间动画对应的类是:Animation。由于Animation是个抽象类,所以我们在使用的时候需要使用它的子类,补间动画的继承关系见下图:
这里写图片描述

Java类名 XML关键字 描述信息
ScaleAnimation <scale> 渐变尺寸伸缩动画效果
TranslateAnimation <translate> 画面转换位置移动动画效果
AnimationSet <set> 一个持有alpah、scale、translate、rotate或者其他set元素的容器
AlphaAnimation <alpha> 渐变透明度动画效果
RotateAnimation <rotate> 画面转移旋转动画效果

接下来详细的介绍一下补间动画的使用。

开发环境

  • IDE版本:AndroidStudio2.0
  • 物理机版本:Win7旗舰版(64位)

补间动画的属性

Animation的属性

JAVA方法 XML属性 解释
setDetachWallpaper(boolean) android:detachWallpaper 是否在壁纸上运行
setDuration(long) android:duration 设置动画持续时间,单位为毫秒
setFillAfter(boolean) android:fillAfter 控件动画结束时控件是否保持动画最后状态
setFillBefore(boolean) android:fillBefore 控件动画结束时控件是否还原到开始动画前的状态
setFillEnable(boolean) android:fillEnable(boolean) 与android:fillBefore效果相同
setInterpolator(boolean) android:interpolator 设置插值器(指定的动画效果,如:回弹等)
setRepeatCount(int) android:repeatCount 重复次数
setRepeatMode(int) android:repeatMode 重复类型:reverse倒序回放、restart从头播放
setStartOffset(long) android:startOffset 调用start函数后等待开行运行的时间,单位为毫秒
setZadjustment(int) android:zAdjustment 表示被设置动画的内容运行时在Z轴的位置(top/bottom/normal),默认为normal

由于Animation类是其抽象父类,那么我们在使用补间动画无论是哪一种都已经具备了以上属性。
下面是每一种补间动画的特有属性:

Alpha属性

JAVA方法 XML属性 解释
AlphaAnimation(float fromAlpha,…) android:fromAlpha 动画开始的透明度(0.0到1.0,0.0是全透明,1.0是不透明)
AlphaAnimation(…, float toAlpha) androdi:toAlpha 动画结束的透明度(同上)

Rotate属性

JAVA方法 XML属性 解释
RotateAnima
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值