android动画的实现

本文详细介绍了Android中的动画实现方法,包括帧动画与补间动画的区别,3.0之前使用的TranslationAnimation等四种补间动画类,帧动画通过AnimationDrawable实现,3.0之后引入的属性动画ObjectAnimator及其使用方法,以及JakeWharton为兼容低版本推出的NineOldAndroids库,并提到了自定义动画ValueAnimator的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android动画的实现

  • 一: 从分类上讲,动画分为帧动画和补间动画。

    • 1.android在3.0以前有四个类来实现补间动画:TranslationAnimation,ScaleAnimation,AlphaAnimation,RotateAnimation
    • 2.实现帧动画的类:在xml中编写animation-list,然后用AnimationDrawable加载,调用start方法开启动画;
    • 3.在android3.0之后谷歌定义的新的方式来实现补间动画:ObjectAnimator,我们通常将其称为属性动画。用法如下:

      ObjectAnimator animator = ObjectAnimator.ofFloat(target, "translationX", values);
      animator.setDuration(300);
      animator.start();
      
    • 4.然而由于ObjectAnimator是3.0之后出来的,早期的时候谷歌并没有兼容的方案,此时,有一位大神Jake Wharton,实现了兼容低版本的属性动画,这个类库就是NineOldAndroid,并且对其进行简化封装,提供的链式api的风格,如下;

      ViewPropertyAnimator.animate(listView)
          .translationX(100)
          .scaleX(1.2f)
          .alpha(0.8f)
          .setDuration(500)
          .start();
      
    • 5.直到android4.4之后,谷歌才出了兼容低版本的属性动画,在v4包中ViewCompat类中,用法和ViewPropertyAnimator一模一样;

    • 6.同时还有允许我们进行自定义动画的类在3.0之后出现,就是ValueAnimator;用法如下:

      ValueAnimator valueAnimator = ValueAnimator.ofInt(srcint, decint);//完成srcint到decint的数值渐变
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值