Tween(补间)动画 之 安卓
来源:互联网 发布:数据共享该怎样连接 编辑:程序博客网 时间:2024/06/04 20:55
一、什么是补间:
回答:故名思意,补间就是补起来一个变化之间缺少的部分
例如:开始是一个圆,最后变成了是一个长方形,现在你要动画从这个圆,演变成一个长方形,你就用补间,把他们中间变化过程补出来,就会由“圆变成长方形”这个动画。 或者假如一个圆移动位置到另外一个地方之间的动画也能叫补间动画。(书上用语:补间动画所定义的开始帧、结束帧)其实就是一个简单的变化。
二、安卓中的补间动画(Tween动画)分类:
android使用Animation代表抽象的动画类,它包括如下几个子类.
1、AlphaAnimation(透明度改变的动画)。
2、ScaleAnimation(大小缩放的动画)。
3、TranslateAnimation(位移变化的动画)。
4、RotateAnimation(旋转动画)。
三、在代码中设置动画:
1、AlphaAnimation透明度改变动画:在创建动画是要指定动画开始时的透明度、结束时候透明度、和动画持续时间
AlphaAnimation alphaAnimation = new AlphaAnimation(fromAlpha, toAlpha);
alphaAnimation.setDuration(durationMillis);
说明:fromAlpha:表示开始透明度 。
toAlpha: 结束透明度。
durationMillis: 动画持续时间
2、ScaleAnimation大小缩放的动画:创建该动画是要指定动画开始时的缩放比(以X、Y轴的缩放参数来表示)、结束时动画的缩放比(以X、Y轴的缩放参数来表示) 、并指定动画持续时间。由于缩放时是以不同点为中心时缩放想过并不相同,因此指定缩放动画时还要通过 pivotX、pivotY来指定“缩放中兴”的坐标。
ScaleAnimation scaleAnimation = new ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue);
scaleAnimation.setDuration(durationMillis);
说明:float fromX 动画起始时 X坐标上的伸缩尺寸
float toX 动画结束时 X坐标上的伸缩尺寸
float fromY 动画起始时Y坐标上的伸缩尺寸
float toY 动画结束时Y坐标上的伸缩尺寸
int pivotXType 动画在X轴相对于物件位置类型
float pivotXValue 动画相对于物件的X坐标的开始位置
int pivotYType 动画在Y轴相对于物件位置类型
float pivotYValue 动画相对于物件的Y坐标的开始位置
float toX 动画结束时 X坐标上的伸缩尺寸
float fromY 动画起始时Y坐标上的伸缩尺寸
float toY 动画结束时Y坐标上的伸缩尺寸
int pivotXType 动画在X轴相对于物件位置类型
float pivotXValue 动画相对于物件的X坐标的开始位置
int pivotYType 动画在Y轴相对于物件位置类型
float pivotYValue 动画相对于物件的Y坐标的开始位置
durationMillis: 动画持续时间
长用的方法如下:
scaleAnimation.setRepeatCount(int repeatCount);//设置重复次数
scaleAnimation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
scaleAnimation.setStartOffset(long startOffset);//执行前的等待时间
scaleAnimation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
scaleAnimation.setStartOffset(long startOffset);//执行前的等待时间
scaleAnimation.startNow(); //开始动画
scaleAnimation.cancel(); //结束动画
3、TranslateAnimation:位移变化的动画:创建该动画时只要指定动画开始时的位置(以X、Y坐标来表示)、结束时的动画(以X、Y坐标来表示),并指定动画持续时间即可。例子(比如QQ,平移滑动菜单)
TranslateAnimation translateAnimation = new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta);
translateAnimation.setDuration(durationMillis);// 设置动画持续时间 translateAnimation.setRepeatCount(repeatCount);// 设置重复次数 translateAnimation.setRepeatMode(Animation.RESTART);//设置反方向执行
float toXDelta 动画结束的点离当前View X坐标上的差值
float fromYDelta 动画开始的点离当前View Y坐标上的差值
float toYDelta 动画开始的点离当前View Y坐标上的差值
4、RotateAnimation :旋转动画,创建该动画时只要指定动画开始时的旋转角度、结束时的旋转角度、并指定动画持续时间就OK、由于旋转时以不同点为中心时旋转效果并不相同,因此指定旋转动画时还要通过pivotX pivotY来指定“旋转轴心”的坐标。
RotateAnimation rotateAnimation = new RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue) ;
说明:
float fromDegrees:旋转的开始角度。
float toDegrees: 旋转的结束角度。
int pivotXType: X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotXValue: X坐标的伸缩值。
int pivotYType: Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotYValue: Y坐标的伸缩值。
float fromDegrees:旋转的开始角度。
float toDegrees: 旋转的结束角度。
int pivotXType: X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotXValue: X坐标的伸缩值。
int pivotYType: Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotYValue: Y坐标的伸缩值。
常用方法:
rotateAnimation.setRepeatCount(int repeatCount);//设置重复次数
rotateAnimation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
rotateAnimation.setStartOffset(long startOffset);//执行前的等待时间
rotateAnimation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
rotateAnimation.setStartOffset(long startOffset);//执行前的等待时间
scaleAnimation.startNow(); //开始动画
rotateAnimation.cancel(); //结束动画
0 0
- Tween(补间)动画 之 安卓
- 安卓动画之补间动画(Tween Animations)
- 安卓动画系列之二,补间动画(Tween Animation)以及动画结合LayoutAnimation的好处
- 补间(Tween)动画
- 补间动画Tween
- 补间(Tween)动画
- Tween(补间动画)
- Tween 补间动画
- Tween补间动画
- 安卓动画之Tween动画
- android动画之:补间动画(Tween动画)
- Android-Animation动画之Tween Animation补间动画
- Android笔记 动画之tween(补间)动画demo
- Android动画之补间动画(Tween Animation)
- Android 动画系列之补间(Tween)动画详解
- Android动画之补间动画(Tween Animation)
- Android动画效果之Tween Animation(补间动画)
- android 动画实现之 Tween Animation(补间动画)
- 去留
- Ubuntu系统的中有着许多不同颜色的文件
- 挂载NFS网络文件系统
- 万能转换器boost::lexical_cast
- RAID卡服务器安装2003教程
- Tween(补间)动画 之 安卓
- 使用github出现的错误以及解决办法
- POJ 3162 树形dp+线段树
- 在WEB配置文件中注册母版页
- cocos2d-x的定时器
- 县级公立医院改革明年推开 今年再增700试点
- 说微信O2O是新的商业模式还为时尚早
- VS2010 Web网站发布详解
- 【Spring】关于spring配置文件的位置