Android ViewPropertyAnimator不会同时缩放

前端之家收集整理的这篇文章主要介绍了Android ViewPropertyAnimator不会同时缩放前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
每次按下按钮时,我都会尝试使用ViewPropertyAnimator缩放视图(不确定的ProgressBar).
loadingCircle.animate().scaleY(1.5f).scaleX(1.5f).setDuration(100f);

我有一个animatorListener可以在onAnimationEnd上缩放回正常:

loadingCircle.animate().scaleY(1.0f).scaleX(1.0f).setDuration(100f);

没什么太复杂的.但是,它似乎并不总是同时缩放x和y.

通常它第一次就是正确的,有时是第二次.
如果它不起作用,它只会动画链中的最后一个操作.如果它是scaleX,它只会缩放X.如果我交换它,它只会缩放Y.

scaleX和scaleY的文档说:

Animations already running on the property will be canceled

但是,我认为ViewPropertyAnimator能够被链接,并且此注释仅适用于新动画(在不同的代码行上).我做错了什么,或者我发现了一个错误

我在GalaxyS4上运行Android 4.2.2.股票ROM,但根深蒂固.如果这有所作为.

解决方法

我相信这确实是一个错误.我通过使用ObjectAnimator而不是ViewPropertyAnimator来解决这个问题,以获得相同的结果.那么,你的看起来像是这样的:
ObjectAnimator animX = ObjectAnimator.ofFloat(loadingCircle,"scaleX",1.0f);
ObjectAnimator animY = ObjectAnimator.ofFloat(loadingCircle,"scaleY",1.0f);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(animX,animY);
animSetXY.start();

资料来源:http://developer.android.com/guide/topics/graphics/prop-animation.html#view-prop-animator

猜你在找的Android相关文章