gpt4 book ai didi

android - 缩放动画未按预期工作

转载 作者:行者123 更新时间:2023-11-29 16:04:25 25 4
gpt4 key购买 nike

我试图做的是将 ImageView 从其正常大小缩放到 20%,然后再缩放回来。这应该是循环的。我已使用以下代码完成此操作,但效果不佳。更多内容如下。

动画/scale.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="1.2"
android:toYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false" />
<scale
android:startOffset="1000"
android:duration="1000"
android:fromXScale="1.2"
android:fromYScale="1.2"
android:toXScale="1.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false" />
</set>

然后在我的代码中做

private void scaleAnimation() {
final Animation scaler = AnimationUtils.loadAnimation(this, R.anim.scale);
scaler.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
animation.reset();
animation.startNow();
}
});
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
scale.startAnimation(scaler);
}
}, 2000);
}

我在那里有处理程序,所以我可以看到开始时发生了什么。

问题有点难以解释。我的图像似乎在动画开始后立即缩放,然后执行动画。所以图像应该出现 2 秒。就在动画开始时,它突然变大了 25% - 50%,然后动画正常执行。动画结束后,图像会很快调整到原始大小,然后再次放大,然后动画重新开始。

我试过几个没有区别的不同图像。据我了解,fromXScale=1.0 开始动画时没有缩放,即图像原样。希望有人能指出我做错了什么或我误解了这些概念。

干杯

最佳答案

如果您要实现的是一个从 1.0 到 1.2 不断缩放到 1.0 的 View ,您可以使动画更简单。

您将执行以下操作:只定义一个比例动画(从 1.0 到 1.2)将重复次数设置为无限将重复模式设置为 REVERSE

有关更多信息,您可以查看 Animation class 上的文档

关于android - 缩放动画未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20672362/

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