android 使用xml让animation按顺序播放

2024-09-03 03:58

本文主要是介绍android 使用xml让animation按顺序播放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

android 使用xml让animation按顺序播放

需求:

想让一个View按顺序播放我已经用xml文件定义好的动画,之前我是监听动画的结束,在前一个动画结束的时候,开启第二个动画,但是这样写太麻烦。
最后发现还可以这样写。

实现

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><scaleandroid:pivotX="50%"android:pivotY="50%"android:fromXScale="0.5"android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:toXScale="1.2"android:fromYScale="0.5"android:fillAfter="true"android:duration="500"//第一个动画时间500android:toYScale="1.2"></scale><scaleandroid:startOffset="500"//第二个动画延迟500毫秒android:pivotX="50%"android:pivotY="50%"android:fromXScale="1.2"android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:toXScale="0.8"android:fromYScale="1.2"android:fillAfter="true"android:duration="1000"//第二个动画时间1000,android:toYScale="0.8"></scale><scale android:startOffset="1000"//第二个动画延迟1000毫秒android:pivotX="50%"android:pivotY="50%"android:fromXScale="0.8"android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:toXScale="1"android:fromYScale="0.8"android:fillAfter="true"android:duration="1500"//第二个动画时间1500,android:toYScale="1"></scale>
</set>

解释

其实这三个动画是一起开始执行的,但是第一个动画没有延迟,
执行500毫秒结束,第二个动画延迟500毫秒开始,刚好第一个动画结束,第二个动画开始,虽然第二个动画总时长是1000毫秒,但是延迟了500毫秒,实际执行动画的时间是1000(总时长)-500(延迟时间)=500毫秒。你可以算一下,第三个动画刚好是第二个动画结束时开始执行的。

注意:

android:fillAfter=”true”

这篇关于android 使用xml让animation按顺序播放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131963

相关文章

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ