Android以编程方式在 View 上设置两个动画

标签 android animation

这里我使用这段代码来制作比例动画

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a);
anim.setDuration(130);
anim.setFillAfter(false);
view.startAnimation(anim);   
anim.start(); 

现在我的 View 动画没有问题,但是当我向它添加另一个动画时,它没有任何一个动画,这是我的代码,用于制作两个动画的缩放和平移

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a);
Animation animT = new TranslateAnimation(0f,b,0f,a);
anim.setDuration(130);
animT.setDuration(130);
anim.setFillAfter(false);
animT.setFillAfter(false);
view.startAnimation(anim);   
view.startAnimation(animT);   
anim.start(); 
animT.start();

正如我们所看到的,我不能同时使用这两个动画,我如何在不使用 xml 动画的情况下解决它,因为我的变量每次都被更改

最佳答案

按如下方式使用AnimationSet:

AnimationSet set = new AnimationSet(true);

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a);
Animation animT = new TranslateAnimation(0f, b, 0f, a);

set.addAnimation(anim);
set.addAnimation(animT);
set.setDuration(130);

view.startAnimation(set);

关于Android以编程方式在 View 上设置两个动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38715367/

相关文章:

Android:从底部延迟按下按钮

Javascript链接具有不同参数的相同动画功能

android - 解析大文件 - OutOfMemory - Android

android - 使 FirebaseRecyclerAdapter 在条件下获取数据而不是全部

java - 从 android 发布 url 以检索数据

iphone - iOS 同步动画

css - Angular 1.3.3 - ngAnimate 1.3.3 不添加类

javascript - 如何删除 anime.js 中的元素?

android - 如果 rs_allocation 已正确绑定(bind),是否有任何方法可以检查 RenderScrpt?

android - 如何以编程方式启动 Google Assistant?