当前位置: 首页 > news >正文

【Android】动画原理解析

一,基础动画

基础动画,有四种,分别是平移(Translate)、缩放(Scale)、Rorate(旋转)、Alpha(透明度),对应Android中以下四种。

1,Animation基类

1,基本概念

1,插值器

插值器的作用,是控制动画过程的参数,可以理解为 时间(t)与动画进程(d)的函数,动画仅与后者d相关,进程取值范围0~1f,随时间变化,时间是均匀的t,进程不一定均匀,可能线性或非线性。

2,Matrix

矩阵变化相关,4种基本动画,皆是操控矩阵实现视图的平移、旋转、缩放、淡化

3,Transformation

ViewGroup中保存的字段,

2,动画流程

OK,那么,以TranslateAnimation为例,开启以下

以View#startAnimation为起点,详细讲下动画原理,

1,设置动画,保存在View#mCurrentAnimation成员,

2,触发View#draw流程

跟进setAnimation

1,保存当前动画到View#mCurrentAnimation

2,设置当前动画开始时间,startTime配置duration,以及系统时间流速,Vsync时间点,即可计算出插值器值,

跟进到View#draw

1,在View#draw中,getAnimation拿到先前设置的Animation对象

2,触发applyLegacyAnimation,传入当前drawingTime,返回more

这个返回值more,代表是否有下一帧动画,false则触发AnimationE

http://www.xdnf.cn/news/341389.html

相关文章:

  • IT/OT 融合架构下的工业控制系统安全攻防实战研究
  • 【嵌入式开发-USB】
  • 王泫梓妍在户外拍摄的一组照片
  • 缓存套餐-03.功能测试
  • Spark缓存
  • 【前端基础】9、CSS的动态伪类(hover、visited、hover、active、focus)【注:本文只有几个粗略说明】
  • 5月8日星期四今日早报简报微语报早读
  • 【人工智能核心技术全景解读】从机器学习到深度学习实战
  • 什么是多模态大模型?为什么需要多模态大模型?
  • 兼具直连存储与分布式存储优势的混合存储方案
  • 轻量级证件照制作 AI 工具 HivisionIDPhotos 介绍
  • Android 查看 Logcat (可纯手机方式 无需电脑)
  • ZooKeeper工作机制与应用场景
  • 中国自动驾驶研发解决方案,第一!
  • SM2Utils NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement$Fp.<init
  • 【Electron】electron-vue 借助 element-ui UI 库助力桌面应用开发
  • 维吉尼亚密码C++实现
  • 责任链设计模式
  • 路由器断流排查终极指南:从Ping测试到Wireshark抓包5步定位法
  • Windows Server 2025 安装AMD显卡驱动
  • android.app.Fragment和androidx.fragment:fragment的区别
  • ActiveMQ 源码剖析:消息存储与通信协议实现(四)
  • 预训练模型实战手册:用BERT/GPT-2微调实现10倍效率提升,Hugging Face生态下的迁移学习全链路实践
  • 数据中台-数仓分层结构【Doris】
  • 【LunarVim】CMake LSP配置
  • 基于Kubernetes的Apache Pulsar云原生架构解析与集群部署指南(上)
  • python 上海新闻爬虫
  • Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
  • 【前端基础】8、CSS的选择器
  • HTML10:iframe内联框架