动画时钟。。。

 

 

博文也是个纠结的事情。。。。好吧,不浪费时间吐糟了,速战速决吧。。。。

 

这次的时钟,用的就是补间动画,而且还只用到了一个属性,就是rotate。

我直接写在布局文件里了。

看一下rotate的几个参数:

<rotate  
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"   
    android:fromDegrees="0"                 //开始旋转的位置
    android:toDegrees="+360"                //结束旋转的位置
    android:pivotX="0%"                     //旋转中心X坐标
    android:pivotY="0%"                     //旋转中心Y坐标
    android:duration="60000"                //毫秒为单位的持续时间
    android:repeatCount="-1"                //无限循环
  /> 


然后把定义在xml中的动画应用在一个ImageView上,在.java中实现动画,代码如下:

	ImageView Myclock = (ImageView)findViewById(R.id.Myclock);  
    	ImageView second = (ImageView)findViewById(R.id.second);  
    	ImageView minute = (ImageView)findViewById(R.id.minute);  
    	ImageView hour = (ImageView)findViewById(R.id.hour);  
    	
    	Animation anisecond = AnimationUtils.loadAnimation(MyclockActivity.this, R.anim.second);  
    	Animation animinute = AnimationUtils.loadAnimation(MyclockActivity.this, R.anim.minute);  
    	Animation anihour = AnimationUtils.loadAnimation(MyclockActivity.this, R.anim.hour);  
    	
    	second.startAnimation(anisecond); 
    	minute.startAnimation(animinute);  
    	hour.startAnimation(anihour);

 

然后就是大家都有提到的匀速旋转问题。。。百度里好多这样的问题,所以一百度就得到了答案。。。在.java中加入代码:

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

可以实现指针的匀速运转。

 

关键的说的差不多了。。。。最后贴图。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值