补间动画AnimationSet中放入TranslateAnimation和ScaleAnimation同时执行的顺序导致动画回来的问题

Android补间动画详解与实战应用 补间动画(Tween Animation)是Android平台上最早引入的动画机制之一,属于View Animation框架的一部分,主要用于实现视图(View)在两个关键帧之间的渐变效果。它通过系统自动计算起始与结束状态之间的中间值,实现透明度、位置、缩放和旋转等属性的平滑过渡。补间动画具有使用简单、性能开销较小的优点,适合对动画精度要求不高但需要流畅视觉反馈的场景,如按钮点击反馈、页面切换、加载提示等。 阅读详情

今天开发的时候碰到这样一个问题:使用补间动画同时进行平移和缩放操作

AnimationSet animationSet = new AnimationSet(false);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 300, 0, 300);
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0f, 1.0f, 0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.5f);

translateAnimation.setDuration(2000);
scaleAnimation.setDuration(1600);

animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);

mImagesRight[i].startAnimation(animationSet);

我将平移动画的addAnimation()方法放在了前面,结果出现平移到对应位置(0,0) –> (300,300)的时候又回来了

解决方法只要将

animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);

这两个方法调换一下位置就可以了

animationSet.addAnimation(scaleAnimation);
animationSet.addAnimation(translateAnimation);

根据大牛的解释是addAnimation里面会进行计算导致平移到相应位置又回来
大牛真吊

动画的顺序按时播放 利用AnimationSet实现动画的顺序播放, DrawableAnimation 实现连续播放Frame动画 立即下载

相关推荐

BIM Revit教程(六)尝试安装 Revit 时显示“Autodesk Revit 已安装。”

在安装Revit或RevitLT时,若系统提示“AutodeskRevit版本已安装”,通常是由于旧版本残留文件未完全清除所致。解决方案包括:1.通过控制面板或Windows设置卸载旧版本Revit,确保所有相关组件被移除;2.使用Autodesk卸载工具(AdskUninstallHelper)进一步清理;3.谨慎操作注册表,删除与Revit相关的残留项;4.确保系统有至少30GB的可用磁盘空间;5.完成上述步骤后,重新尝试安装Revit。此外,文章还提到了一个免费功能商店,供用户寻找提效工具,并鼓励粉丝

ZOZO_888的博客 2129

android动画set,Android开发:属性动画的练习(AnimationSet、ObjectAnimator )

就是通过动画的方式改变对象的属性了,我们首先需要了解几个属性:Duration动画的持续时间,默认300ms。time interpolation:时间差值,如LinearInterpolator、AccelerateDecelerateInterpolator,定义动画的变化率。Repeat count and behavior:重复次数、以及重复模式;Animator sets: 动画集合,你...

weixin_39730671的博客 443

KEIL5编译报错L6200E:__stdout重定义问题分析与解决

本文深入分析KEIL5编译报错L6200E中__stdout重定义问题的根源,指出因未完整定义__stderr导致与标准库stdio_streams.o冲突。提供完整重定义标准流、启用MicroLIB库等解决方案,帮助开发者彻底解决Symbol multiply defined错误,提升嵌入式开发效率。

uran的专栏 953

AnimatorSet播放顺序自己随心定制

AnimatorSet提供了一个把多个动画组合成一个组合的机制,并可设置组中动画的时序关系,如同时播放,顺序播放等等。 下面的例子可以动画一个接着一个进行播放: public void move(View view ){ ImageView imageView=(ImageView)findViewById(R.id.imageView); ObjectAnimat

sinat_28496853的博客 5172

Vivado IP核综合失败别慌:除了打补丁,这个TCL命令也能救急(以Video Frame Buffer为例)

本文详细解析了Vivado IP核综合失败的排查方法,特别是针对Video Frame Buffer Read IP的常见问题。从补丁安装到深入分析DCP文件生成机制,再到使用强大的TCL命令`foreach ip_in_proj [get_ips] {compile_c [get_ips $ip_in_proj]}`强制重编译,提供了一套完整的解决方案。帮助开发者快速定位并解决IP核综合失败问题,确保项目顺利进行。

weixin_30892889的博客 422

基于BQ24610的24V电池充电板

转自我的博客 本文的主要目的在于传播基本的阅读datasheet的能力,以及PCB设计需要注意的基本问题。 本次需要设计的是24V动力锂电池充电电路。 原理图设计 参考官方参考电路 为了快速设计电路,自然是参考官方参考电路,选择Typical Application。 做细微的参数调整 由于我们的需求是给24V的电池充电,所以需要稍微修改一下原理图,接下来需...

greedyhao的博客 1万+

学习|Android属性动画的组合动画之一--AnimationSet

学更好的别人,做更好的自己。——《微卡智享》本文长度为2739字,预计阅读7分钟Android组合动画上篇文章我们介绍了《学习|Android属性动画的基础介绍》,里面只做了一个简单的动...

Vaccae的博客 2058

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

ScaleAnimation开始结束位置分析

做项目的时候,需要用到动画,大小和位置都不一样。刚开始想到的是ScaleAnimation和TranslateAnimation进行组合,但实验后发现,目标位置始终不对,只用TranslateAnimation是没有问题,所以ScaleAnimation应该不只是进行了缩放 经过查找资料,发现ScaleAnimation还进行起始位置的移动。ScaleAnimation分为两种情况,从本身的位置...

paddyy的专栏 527

基于稀疏表示字典学习的图像超分辨率-杨建超论文解析

文章:《Image Super-Resolution via Sparse Representation》 作者:杨建超 信号稀疏的定义: 令字典D的原子个数M,信号维度为N,则有以下三种关系: M = N时,D为完备的; M > N时,D为冗余的; M>>N时, D为过完备的。 图解如下: 借鉴了压缩感知的思想,通过对大量低分辨率图像和高分辨...

ycc18829026593的博客 7637

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

Robot_PLC_HMI_Automation 4236

android 动画属性(一)之Animation

Animation 在android 程序当中很多时候要用到动画效果,而动画效果主要是Animation来实现的,API给出的解释:     其中包含4种动画效果   AlphaAnimation 渐变透明度   RotateAnimation 画面旋转   ScaleAnimation 渐变尺寸缩放   TranslateAnimation 位置移动 ...

weixin_30345055的博客 136

手把手教你从入门到精通C# 操作MySql数据库

本文是《C#操作MySql数据库从入门到精通》专栏的导读,帮助大家知道学习本专栏能够获取什么!

qq_34059233的博客 1929

Android 动画之补间动画

在Android中,动画可以分为三种模式,View Animation、Frame Animation、Property Animation,其中Frame Animation又是View Animation一种特殊形式,只不过它和平移、旋转等常见的View Animation在表现形式上略有不同。View AnimationView Animation又称为Tween Animation,即补间动

行云间 1896

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

补间动画详解一 基类Animation

补间动画(Tween animation)是通过在两个关键帧之间补充渐变的动画效果来实现的。 Android系统提供了四个补间动画的类,分别是AlphaAnimation、RotateAnimation、ScaleAnimation和TranslateAnimation,另外还有一个能够把多个动画组合起来的AnimationSet类,这些类都有一个共同的基类Animation。 Ani

ruancoder的博客 5670

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

帧动画,补间动画

帧动画,补间动画

jzj_nd的博客 1040

ScaleAnimation和TranslateAnimation同时使用

问题:需求要实现view移动同时进行缩小动画,可是通过AnimationSet进行混合动画时移动后又回到原点,即使将动画的fillAfter属性设置成true也无效 解决:先添加ScaleAnimation动画再添加TranslateAnimation动画(注意顺序性,相反则会发生上述问题) ...

yufumatou的博客 973

展开说说:Android动画使用

属性动画Animator是个抽象类,有三个子类ValueAnimator、AnimatorSet,而TimeAnimator和ObjectAnimator是ValueAnimator的子类、我们都是在使用他们四个实现动画。补间分为平移动画translate、缩放动画scale、旋转动画rotate、透明度动画alpha以及动画合集set,用发基本类似此处以缩放动画为例。补间动画也可以在java代码中实现,这里其实完成了上面的第一步和第二部,有了animation对象其他的都一样了。实例去执行或者关闭动画。

Hidanchaofan的博客 1376

Android动画之Tween Animation

详细讲解一下Tween动画的使用。 同样,在开始实例演示之前,先引用官方文档中的一段话: Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们成为补间动画。我们可以以XML形式定义动画,也可以编码实现。 如果以XML形式定义一个动画,我们按照动画的定义语法完成XML,并放置于/res/anim目录下,文件名可以作为资源ID被引用;如果由编码实现,我

lzxm27的专栏 692

Android开发之动画效果浅析(一)

程序运行效果图:Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation。下面依次介绍一下各个动画。1. 补间动画(Tween)Tween动画,通过对View的内容进行一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。动画效果的定义可以采用XML来做也...

hdhhd的博客 5848

Android动画属性说明及使用

Android 动画大概可以分为两类,一类是 Tween 动画(补间动画),即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即顺序播放设置好的每一个图像(逐帧动画)。 补间动画 Animation代表抽象的动画类,它的实现类有如下几个:AlphaAnimation、ScaleAnimation、RotateAnimation、TranslateAni...

残梦 225

【我的应用系列】(三)动画的使用之Tween动画

【前言】对于一款应用而言,除了程序健壮之外,就是用户体验要好了。用户体验是更为直观的展现和吸引用户的手段,一方面是要符合用户的操作习惯,另外就是要有让人愉悦的界面。纵观市面上的应用,无不是在这几方面下功夫。使用动画是让应用变得更绚丽的重要手段,当然,是适度合理的使用动画。从早前的Android版本开始,系统就提供了两种动画,补间动画(Tween)和帧动画(Frame),Android3.0后又提供

derson2388的专栏 1964

动画学习android,Android动画学习

Android 动画大概可以分为两类,一类是 Tween 动画(补间动画),即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即顺序播放设置好的每一个图像(逐帧动画)。补间动画Animation代表抽象的动画类,它的实现类有如下几个:AlphaAnimation、ScaleAnimation、RotateAnimation、TranslateAnima...

weixin_28719385的博客 174

android 动画旋转详细,Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)...

本文实例讲述了Android动画之渐变动画(Tween Animation)。分享给大家供大家参考,具体如下:Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。下面就讲一下Tweene Animations。主要类:Animation...

weixin_32312913的博客 640

Android--Tweened Animations介绍

1、简介Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 Animations从总体上可以分为两大类: Tweened Animations(渐变动画):该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Ro

HardWorkingAnt的博客 1万+

Android动画之Tween动画实现

本例子主要实现了Android的Tweene动画,实现了页面等待、开门、元素旋转平移缩放渐变等功能,并且使用了在Activity界面直接操作动画、重写View处理动画、利用XML处理动画等技术,希望能帮助到需要的人。

冰点蓝欣的专栏 938
上一篇: android使用动画时超过父viewGroup就消失的解决方法
下一篇: android转场动画的两种方式
missingcall
博客等级 码龄10年 8粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值