news 2026/7/6 20:36:23

Translation MotionLayout

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Translation MotionLayout

1、简介

1.1 Android中动画

Android原生动画主要有三种:

View动画,在Activity切换时会用到,这个是最早引入的动画,在API 1的时候引入;

属性动画,目前最常使用的动画,在API 11引入。常用于实现平移、缩放、旋转以及一些自定义动画效果;

过渡动画,在API 18开始引用,主要用于实现两个状态间的平滑过度。由于被引入的比较晚,要考虑前版本的适配问题,而没有大规模被使用。最近几年不用再考虑兼容API 18及以前版本,开始逐渐的流行起来。

1.2 属性动画和过渡动画

看一个示例,用属性动画实现,点击后从左边移动到右边。

我们知道代码是为需求做服务的,上面的需求是把控件从左边移动到右边,而我们需要先计算移动的距离,再进行移动。跟需求描述相比,代码多了计算的步骤。

我们通过直接修改布局的属性来改变控件的位置,这样代码实现更加符合需求的描述。

不过可以看出来这样实现,是直接变过去,没有动画,显得非常生硬。因此,加入过渡动画优化一下:

如此即带有了动画的效果,并且代码是真正按照需求来执行。

当然这里举的是简单的属性动画例子,实际上像缩放、平移、旋转等都可以用过渡动画实现,只需要指定修改的属性,不需要像属性动画那样,计算变化的高度、宽度、距离、角度等。

由此我们看出,过渡动画主要是一种思路上的转变。它让我们关注在开始和结束的状态,中间的动画变化由动画框架帮助我们完成。从而让开发者更加聚焦在需求的开发上。

2、过渡框架源码分析

过渡动画主要关注两个场景,开始场景和结束场景。而中间的动画过程由框架帮我们完成。从开始场景到结束场景的转变,就是过渡动画。

前面使用TransitionManager.beginDelayedTransition()方法,就实现了过渡动画的效果。接下来我们通过解析它的源码,理解过渡动画的原理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 20:35:57

MKXP:让RPG Maker游戏在Linux上重获新生的开源引擎

MKXP:让RPG Maker游戏在Linux上重获新生的开源引擎 【免费下载链接】mkxp Free Software implementation of the Ruby Game Scripting System (RGSS) 项目地址: https://gitcode.com/gh_mirrors/mk/mkxp 想象一下,你花费数百小时精心制作的RPG Ma…

作者头像 李华
网站建设 2026/7/6 20:34:46

FutureKit社区贡献指南:如何参与FutureKit开源项目开发

FutureKit社区贡献指南:如何参与FutureKit开源项目开发 【免费下载链接】FutureKit A Swift based Future/Promises Library for IOS and OS X. 项目地址: https://gitcode.com/gh_mirrors/fu/FutureKit FutureKit是一个基于Swift的iOS和OS X异步编程库&…

作者头像 李华
网站建设 2026/7/6 20:34:31

vz安全指南:正确配置entitlements和权限的最佳实践

vz安全指南:正确配置entitlements和权限的最佳实践 【免费下载链接】vz Create virtual machines and run Linux-based operating systems in Go using Apple Virtualization.framework. 项目地址: https://gitcode.com/gh_mirrors/vz1/vz vz是基于Apple Vir…

作者头像 李华
网站建设 2026/7/6 20:31:24

解锁漫画阅读新境界:5个EhViewer实用技巧让漫画浏览效率翻倍

解锁漫画阅读新境界:5个EhViewer实用技巧让漫画浏览效率翻倍 EhViewer是一款基于Material Design 2设计风格的Android漫画阅读器,专为E-Hentai等漫画网站优化。这款开源应用不仅提供了流畅的漫画浏览体验,还集成了智能下载、离线阅读、个性化…

作者头像 李华
网站建设 2026/7/6 20:31:15

微信智能助手终极配置指南:5分钟打造您的专属自动化机器人

微信智能助手终极配置指南:5分钟打造您的专属自动化机器人 【免费下载链接】wechat-assistant-pro 智能微秘书客户端,搭配 项目地址: https://gitcode.com/GitHub_Trending/we/wechat-assistant-pro 微信智能助手是一款基于Wechaty框架开发的多协…

作者头像 李华