中易网

有用过NineOldAndroids的吗

答案:1  悬赏:20  
解决时间 2021-03-22 18:04
有用过NineOldAndroids的吗
最佳答案
做Android开发的同学很多都知道或者使用过一个动画库,那就是NineOldAndroids,它的作者及其牛X,好几个著名的开源库都是他的作品,具体大家可以看他的 JakeWharton 。简单来说,NineOldAndroids是一个向下兼容的动画库,主要是使低于API 11的系统也能够使用View的属性动画。以下是个其官网的简述 :
  Android library for using the Honeycomb (Android 3.0) animation API on all versions of the platform back to 1.0!Animation prior to Honeycomb was very limited in what it could accomplish so in Android 3.x a new API was written. With only a change in imports, we are able to use a large subset of the new-style animation with exactly the same API.
  View的属性动画在Android API 11及其以后才支持,该库的作用就是让API 11以下的系统也能够正常的使用属性动画。它的类名、用法与官方的都一样,只是包名不一样。使用该库,你就可以在API 版本很低的情况下也能够使用各种属性动画,让你的应用更加有动感、平滑。 官方地址 : nineoldandroids 。

  基本原理简介
  一般来说,我们使用NineOldAndroids的属性动画时的代码大致是如下这样的:
  ValueAnimator colorAnim = ObjectAnimator.ofFloat(myView, "scaleX", 0.3f);colorAnim.setDuration(1000);colorAnim.start();
  这个动画会将myView (View的子类型)的宽度在1秒钟之内缩放到原始宽度的30%。下面我们先来简单说明一下NineOldAndroids的基本原理。
  不管是官方的支持,还是nideoldandroids的低版本支持,它们使用的技术原理都是一样的。NineOldAndroids的基本原理就是在构建属性动画时根据用户的系统版本来选择不同的实现方式,并且对于低版本的API使用自己的实现来做属性动画。如果用户的系统API大于等于11,即Android 3.0及其以上,那么就会在动画的duration期间内连续地通过反射来调用该属性的set方法来修改它的值。例如上面的 scaleX属性,该动画库会在内部构造 scaleX 的set方法,格式如下为set + 首字母大写属性名 + 参数,例如setS caleX (float scale),这样在一段时间内连续的修改myView的缩放值就达到了动画的效果。我们看setScaleX的文档:
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
HKH袪痘凝胶
27的倍数特征
胸椎错位矫正后是躺着还是多活动? 矫正后应
母乳2个月的宝宝大便干燥怎么办呀?宝宝昨天
浙江省宁波市宁海县跃龙街道正学公园邮编是什
准备装修,乐屋家装好不好 ?
学分不够,我只能拿结业证了,这会影响我找工
我想买个鱼竿,但是不懂,有谁能介绍下买什么牌
怎么注册微信店铺
男女交往要注意那些的重要事项
lol怎么开黑语音
近期绍兴黄金价位是多少
龙之起源好玩吗?听说是龙之谷手游?
网线测线仪不可带电测试网线,是什么意思
决的成语有哪些成语
推荐资讯
北京烤鸭哪里好吃
最好的补充营养素是哪个?
童乐艺术活动中心地址在什么地方,想过去办事
设计基础好的适合学什么设计专业
failed: not exist working folder!是什么意
与 书友共同开启共同开启是什么意思 起点
烟台哪家银行的信用卡好?想办信用卡
心肌衰竭能治好吗?
油炸五香调料的做法
茶叶为什么降价?如何回答?
我选的惠达马桶2016最新款属于中高档不知怎么
A:The area is too noisy.B: Yes, I agree. I
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?