gpt4 book ai didi

android - 在同一个 Layout 中启动两个动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:35:28 27 4
gpt4 key购买 nike

我正在尝试在 RelativeLayout 中进行 alpha 和转换。我定义了两者:

AlphaAnimation alpha;
alpha = new AlphaAnimation(0.0f, 1.0f);
alpha.setDuration(1500);
alpha.setFillAfter(true);

TranslateAnimation translate;
translate = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0,
Animation.RELATIVE_TO_SELF, 0,
Animation.RELATIVE_TO_SELF, 1,
Animation.RELATIVE_TO_SELF, 0);
translate.setDuration(1000);

所以我在 RelativeLayout 中开始动画

RelativeLayout.startAnimation(translate);
RelativeLayout.startAnimation(alpha);

问题是在这种情况下,只有 alpha 动画开始而不是翻译。有人能帮我吗?问题是如何在同一个对象中同时启动两个不同的动画(在我的例子中是相对布局)


我解决了这个问题。我添加了它:

AnimationSet animationSet = new AnimationSet(true);
animationSet.addAnimation(alpha);
animationSet.addAnimation(translate);

RelativeLayout.startAnimation(animationSet);

最佳答案

如果你想同时运行两个动画,你可以使用动画集:

http://developer.android.com/reference/android/view/animation/AnimationSet.html

例如;

as = new AnimationSet(true);
as.setFillEnabled(true);
as.setInterpolator(new BounceInterpolator());

TranslateAnimation ta = new TranslateAnimation(-300, 100, 0, 0);
ta.setDuration(2000);
as.addAnimation(ta);

TranslateAnimation ta2 = new TranslateAnimation(100, 0, 0, 0);
ta2.setDuration(2000);
ta2.setStartOffset(2000); // allowing 2000 milliseconds for ta to finish
as.addAnimation(ta2);

关于android - 在同一个 Layout 中启动两个动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com