本次实验完成了一个时钟动画的制作。
其实完成本次实验相当简单,就用下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);
这样就能匀速旋转了。
上个图吧: