gpt4 book ai didi

java - Android:动画通过代码运行,但不能通过 xml 运行

转载 作者:行者123 更新时间:2023-12-02 12:57:06 26 4
gpt4 key购买 nike

我有一个非常简单的动画: ImageView 必须一直向上然后向下。最初我尝试使用 xml:

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:fillAfter="true">
<set
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="-1"
android:repeatMode="reverse">
<translate
android:fromYDelta="0"
android:toYDelta="10"
android:duration="300">
</translate>
</set>

Animation mAnimation= AnimationUtils.loadAnimation(this, R.anim.myanimation);
immagineNemico.startAnimation(mAnimation);

但是它不起作用:我的 ImageView 没有上升,只有下降。所以我读了一个问题的答案,并通过代码制作了动画:

    immagineNemico.setVisibility(View.VISIBLE);
TranslateAnimation mAnimation = new TranslateAnimation(
TranslateAnimation.ABSOLUTE, 0f,
TranslateAnimation.ABSOLUTE, 0f,
TranslateAnimation.RELATIVE_TO_PARENT, 0f,
TranslateAnimation.RELATIVE_TO_PARENT, 0.02f);
mAnimation.setDuration(300);
mAnimation.setRepeatCount(-1);
mAnimation.setRepeatMode(Animation.REVERSE);
mAnimation.setInterpolator(new LinearInterpolator());
immagineNemico.setAnimation(mAnimation);

而且它成功了。但是为什么xml动画不起作用呢?他们几乎是一样的!错误在哪里?

最佳答案

我也遇到过同样的问题:动画在通过代码设置时可以工作,但在 XML 中则不行。简而言之,Android 动画中存在错误/故意混淆设计,其中某些 XML 元素被忽略。

这个对相关问题的回答首先让我意识到,以编程方式完成的事情与通过 XML 完成的事情会起作用:https://stackoverflow.com/a/6351812/8003750

我知道这不是最令人满意的答案,但简而言之 - 即使 XML 是完美的,在某些情况下它也不起作用。

关于java - Android:动画通过代码运行,但不能通过 xml 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44396650/

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