博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中 动画效果实现
阅读量:6406 次
发布时间:2019-06-23

本文共 1956 字,大约阅读时间需要 6 分钟。

hot3.png

Android中提供了四种动画效果:

  • Alpha  透明度改变的动画效果:
AlphaAnimation(float fromAlpha, float toAlpha);
这个很好理解,两个参数一个是起始透明度,一个是结束透明度
float类型参数 由0.0 --> 1.0, 透明度由完全透明-->完全不透明
之后还要设置动画持续时间: (long durationMillis);
long类型参数为毫秒数。时间越长,动画也就越慢了~

  • Rotate 旋转动画效果:
说一下参数最多的那个吧,
RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue);
float fromDegrees,  起始角度
float toDegrees,  结束角度
特别说明:
fromDegrees < toDegrees 顺时针转,反之,逆时针。
int pivotXType,  动画在X轴相对于物件位置类型,与下面的pivotXValue结合,确定X轴上旋转中心。
float pivotXValue, 结合上面说明:如果pivotXType=Animation.,则此参数为旋转中心在屏幕上X轴的值;
int pivotYType, Y轴同上,不解释
float pivotYValue),Y轴同上,不解释
举例:
如果pivotXType=Animation.,则参数pivotXValue为旋转中心在父控件水平位置百分比,如0.5表示在父控件水平方向中间位置;
如果pivotXType=Animation.,则参数pivotXValue为旋转中心在控件自身水平位置百分比,如果X和Y的Value都设置为0.5,则该控件以自身中心旋转。

  • Scale 缩放动画效果
咱还是说参数最多的那个
ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue);
四个from,to 是起始和结束时控件大小比例。如fromX=0.5, toX=1,则控件的水平方向从一半大小变到控件本身大小。
int  pivotXType, float pivotXValue和RotateAnimation中代表的意思差不多,就是指明了缩放是从哪里开始的。
举例:
p
ivotXType=
Animation.
pivotXVal
ue=0.0,pivotYType=Animation.,pivotYValue=0.5,缩放就从
控件的垂直方向中部以及水平方向左边开始了。当然如果fromX=0,toX=0,那么水平方向上是没变化的。

  • Translate 移动动画效果:
这个是我们都很熟悉也是最常见的
其中
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta);
四个参数分别是起始和结束时的水平、垂直方向位置。注意:默认是以控件本身问参照的,比如设置为(0,0,100,50)是在水平方向移动100px,垂直方向移动50px;
TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue);
与前面几个效果的参数含义相似, from XType类似上面的pivotXType,是参照类型, from XValue就是那pivotXValue了,是具体值。
举例:设置(Animation. , 0.5,  , 1.0,  , 0.0,  , 1.0); 则表示从父控件水平居中、垂直最上方移动到父控件的右下方,由于设置的是该控件左上顶点的位置,所以此时该控件应该是出去父控件了(这个我还没亲自试过,偷懒了。。大家可以拿来试试,欢迎反馈~)。

最后补充一下:当pivotXType 为Animation.ABSOLUTE时,后面的Value代表的是px值,其他情况Value代表比例,1.0=100%。

转载于:https://my.oschina.net/ryanisme/blog/109674

你可能感兴趣的文章
C#将集合和Json格式互相转换的几种方式
查看>>
java连接数据库并操作
查看>>
安装.net framework 4.0时提示HRESULT 0xc8000222
查看>>
集群下文件同步问题
查看>>
ASA 5510 V821 EASY ×××配置
查看>>
ubuntu server 更换源
查看>>
SQL SERVER 2008安装
查看>>
EXT中的gridpanel自适应窗口的方法
查看>>
unary operator expected
查看>>
IPC之共享内存
查看>>
新加坡之旅
查看>>
IBM X3650 M3服务器上RAID配置实战
查看>>
Mysql DBA 高级运维学习之路-索引知识及创建索引的多种方法实战
查看>>
go语言与java nio通信,解析命令调用上下文拉起ffmpeg,并引入livego做的简单流媒体服务器...
查看>>
JavaScript面向对象轻松入门之多态(demo by ES5、ES6、TypeScript)
查看>>
【数据结构】线性表(一):顺序列表
查看>>
利用Mallet工具自动挖掘文本Topic
查看>>
Windows下oracle打补丁步骤
查看>>
Python教程(一)Python简介
查看>>
asp.net forms认证
查看>>