Android——动画的实现

来源:互联网 发布:如何理解大数据时代 编辑:程序博客网 时间:2024/06/04 20:20

本次实验完成了一个时钟动画的制作。

其实完成本次实验相当简单,就用下Android的动画类Animation就行了,时钟的话主要应用旋转动画RotateAnimation,这个是Animation的子类。

实现动画有两种方法。一种是写布局文件,另一种是直接用Java代码实现。

由于时钟要调用本机时间,所以我用Java代码实现。

这里主要讲一下RotateAnimation的构造方法:

RotateAnimation(float fromDegrees, float toDegrees,             int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)//第一个参数fromDegrees为动画起始时的旋转角度    //第二个参数toDegrees为动画旋转到的角度   //第三个参数pivotXType为动画在X轴相对于物件位置类型  //第四个参数pivotXValue为动画相对于物件的X坐标的开始位置//第五个参数pivotXType为动画在Y轴相对于物件位置类型   //第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置Animation animationRotate=new RotateAnimation(0.0f, +350.0f,               Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);//从0°开始转到350°,一图形中心为旋转中心

然后再设置旋转时长

animationRotate.setDuration(10000);//参数是以毫秒为单位
然后再让图形对象引用之即可。

还有一点,这个动画是默认运动先快后慢的,但是在时钟上要匀速:

LinearInterpolator lir = new LinearInterpolator();animationRotate.setInterpolator(lir);

这样就能匀速旋转了。

上个图吧: