Android TimeAnimator && TimeListener翻译

TimeAnimator:提供了一个简单的回调机制,通过 TimeAnimator.TimeListener,在动画的每一帧处通知你。这个动画器没有时间,插值或是对象值设定。回调监听器为每一帧动画接受信息,包括总运行时间和从前一帧到现在的运行时间.

相关方法:

setTimeListener(TimeAnimator.TimeListener listener):设置监听器.

start():开始动画

 

 

TimeAnimator.TimeListener:

实现这个接口可以对动画的每一帧进行监听

onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime)

 

animation:发出通知的动画

totalTime:动画开始以来的总时间,以毫秒为单位

deltaTime:从前一帧到现在的运行时间,以毫秒为单位



Android开发:使用ValueAnimator动画

在Android 3.0中,新引入了除补间动画Tween Animation、帧动画Frame Animation以外的第三种动画,属性动画Property Animation就是ValueAnimator类.特点:ValueAnimator通过改变对象的属性值来实现界面的改变,而其他动画,只是界面显示上的改变,动画结束后,你会发现,即使view已经运动到别的位置,但click事件还是在原来的地方,ValueAnimator不会有这个问题。ValueAnimator有两个子类,一个是TimeAnimator,一个是ObjectAnimator。
TimeAnimator在api 16才引入,它并不能直接实现动画效果,而是在TimeListener里返回动画持续的时间,与上次调用的间隔时间,要怎么改变view,需要自己操作。
ObjectAnimator可以直接改变对象的属性值,比如,我们可以通过改变ProgressBar的progress属性,实现进度的改变.

  
  
  1. ObjectAnimator objectAnimator=ObjectAnimator.ofInt(progressBar,"progress",1,100);
  2. objectAnimator.setDuration(10000);
  3. objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
  4. objectAnimator.start();
  5.  
  6. //api 16 android 4.1以上版本才有
  7. TimeAnimator timeAnimator=new TimeAnimator();
  8. timeAnimator.setTimeListener(new TimeAnimator.TimeListener() {
  9. @Override
  10. public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
  11. System.out.println(totalTime+" "+deltaTime);
  12. }
  13. });
  14. timeAnimator.start();;

© 2014, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值