• Android 三种动画 (帧动画 、补间动画、属性动画)


    1、帧动画

    帧动画是依次展示n张静态图片,造成动画的错觉,类似看视频一样。

    使用方式

    1. 在drawable目录下定义XML文件,根节点为animation-list,然后放入定义更好的图片
    2. oneshot 表示是否重复播放动画
    3. 使用 AnimationDrawable 展示动画

     AnimationDrawable animationDrawable = (AnimationDrawable) button.getBackground();
     animationDrawable.start();//开启动画

    2、补间动画

    补间动画也称view动画,补间动画只需指定动画开始,以及动画结束"关键帧", 而动画变化的"中间帧"则由系统计算并补齐。主要有:

    • AlphaAnimation:透明度渐变效果,创建时许指定开始以及结束透明度,还有动画的持续 时间,透明度的变化范围(0,1),0是完全透明,1是完全不透明;对应<alpha/>标签!
    • ScaleAnimation:缩放渐变效果,创建时需指定开始以及结束的缩放比,以及缩放参考点, 还有动画的持续时间;对应<scale/>标签!
    • TranslateAnimation:位移渐变效果,创建时指定起始以及结束位置,并指定动画的持续 时间即可;对应<translate/>标签!
    • RotateAnimation:旋转渐变效果,创建时指定动画起始以及结束的旋转角度,以及动画 持续时间和旋转的轴心;对应<rotate/>标签
    • AnimationSet:组合渐变,就是前面多种渐变的组合,对应<set/>标签
    animation = AnimationUtils.loadAnimation(this,R.anim.anim_set);
    img.startAnimation(animation);

    动画也可以设置监听setAnimationListener(new AnimationListener())方法

    • onAnimationStart():动画开始
    • onAnimtaionRepeat():动画重复
    • onAnimationEnd():动画结束

    过场动画

    • Fragment: 我们可以调用FragmentTransaction对象的setTransition(int transit) 为Fragment指定标准的过场动画
    • Activty设置过场动画非常简单,调用的方法是:overridePendingTransition(int enterAnim, int exitAnim),在startActivity(intent)或者finish()后添加

    3、属性动画

    属性动画可以对任何对象的属性做动画而不仅仅是View,甚至可以没有对象。除了作用对象进行扩展外,属性动画的效果也加强了,不仅能实现View动画的4中效果,还能实现其它多种效果,这些效果都是通过ValuAnimator或ObjectAnimator、AnimatorSet等来实现的。

    8.4.3 Android动画合集之属性动画-初见 | 菜鸟教程

    • ValueAnimator:调用ValueAnimator.ofInt/ofFloat 获得,然后设置动画持续时间 duration,通过 addUpdateListener 设置时间监听,使用参数animationgetAnimatedValue()获得当前的值,然后我们可以拿着这个值 来修改View的一些属性,从而形成所谓的动画效果,接着设置setInterpolator动画渲染模式, 最后调用start()开始动画的播放
    • ObjectAnimator:通过该类我们可以直接 对任意对象的任意属性进行动画操作
    • animatorSet:组合动画

    AnimatorSet这个类提供了一个play()方法,如果我们向这个方法中传入一个Animator对象(ObjectAnimator或者ValueAnimator)将会返回一个AnimatorSet.Builder的实例,AnimatorSet.Builder中包含了以下四个方法:

    • after(Animator anim) : 将现有动画插入到传入的动画之后执行。
    • after(long delay):将现有的动画延迟指定的毫秒后执行。
    • before(Animator anim):将现有的动画插入到传入的动画之前执行。
    • with(Animator anim):将现有的动画和传入的动画同时执行。

    动画具有start、Repeat、End、Cancel四个过程,Android提供了监听接口:Animator.AnimatorListener,提供空态:AnimatorListenerAdapter。

    使用XML来编写动画:<animator><objectAnimator><set>

    Android的三种动画详解(帧动画、View动画、属性动画)_>进阶的程序员>的博客-CSDN博客_android 动画

    Android中属性动画和补间动画的区别_低调小一的博客-CSDN博客_属性动画和补间动画的区别

  • 相关阅读:
    备忘录模式
    [问题解决]解决编译时,Androidx和其他三方库冲突
    云边协同架构助力智能工厂视觉 AI 缺陷检测应用构建
    【Git】Git基础命令操作速记
    gbase8s数据库的逻辑日志、物理日志和两种特殊情形的学习
    Redis的五大基础数据类型
    数字电路与逻辑设计 之 组合逻辑电路
    QGIS安装与使用教程
    卷积神经网络(CNN)网络结构及模型原理介绍
    数据集的整理和命名和格式转换
  • 原文地址:https://blog.csdn.net/mmk27_word/article/details/126688566