gpt4 book ai didi

java - ValueAnimator 翻译动画

转载 作者:行者123 更新时间:2023-12-01 11:23:41 27 4
gpt4 key购买 nike

我需要通过 ValueAnimator 创建一个转换动画到某些特定的 xy 值,所以我编写了以下代码,但它不是按我的预期工作,并在 valueAnimator.getAnimatedValue("x")valueAnimator.getAnimatedValue("y") 上抛出 NullPointerExceptions!

ValueAnimator translate = ValueAnimator.ofInt(viewX, endX, viewY, endY);
translate.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
int valX = (Integer) valueAnimator.getAnimatedValue("x");
int valY = (Integer) valueAnimator.getAnimatedValue("y");

updateViewLayout(mWindowManager, view2animate, valX, valY, null, null);
}
});
translate.setDuration(1000);
translate.start();

有什么想法吗?

最佳答案

这里的问题是,您正在尝试获取名为“x”的属性的值,但您尚未定义“x”是什么以及它的值是什么。因此,在您的情况下,我们需要定义“x”和“y”属性的限制。

所以只需替换

ValueAnimator translate = ValueAnimator.ofInt(viewX, endX, viewY, endY);

ValueAnimator translate = new ValueAnimator(); // Inititing ValueAnimator obj
translate.setValues(PropertyValuesHolder.ofInt("x",viewX,endX), // set the limits of property "x"
PropertyValuesHolder.ofInt("y", viewY,endY)); // setting the limits of property "y"

这样我们就可以在onAnimationUpdate方法中获取valueAnimator.getAnimatedValue("x") & valueAnimator.getAnimatedValue("y")

关于java - ValueAnimator 翻译动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997709/

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