gpt4 book ai didi

机器人 ObjectAnimator.ofFloat 无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:31 26 4
gpt4 key购买 nike

我在一个 Android 应用程序中使用了 ObjectAnimator.ofFloat,它在每个设备上的工作方式都不一样。

MainActivity(扩展 Activity):

Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startAnimation();
}
});


public void startAnimation() {
ImageView aniView = (ImageView) findViewById(R.id.imageView1);
ObjectAnimator fadeOut = ObjectAnimator.ofFloat(aniView, "alpha", 0f);
fadeOut.setDuration(2000);

ObjectAnimator mover = ObjectAnimator.ofFloat(aniView, "translationX", -500f, 0f);
mover.setInterpolator(new TimeInterpolator() {
@Override
public float getInterpolation(float input) {
Log.v("MainActivity", "getInterpolation() " + String.format("%.4f", input));
return input;
}
});
mover.setDuration(2000);

ObjectAnimator fadeIn = ObjectAnimator.ofFloat(aniView, "alpha", 0f, 1f);
fadeIn.setDuration(2000);

AnimatorSet animatorSet = new AnimatorSet();

animatorSet.play(mover).with(fadeIn).after(fadeOut);
animatorSet.start();
}

三星 Galaxy S4(Android 4.4.2):

    getInterpolation() 1,0000
getInterpolation() 1,0000

三星 Galaxy S5(Android 4.4.2):

    getInterpolation() 0,0000
getInterpolation() 0,0000
getInterpolation() 0,0085
getInterpolation() 0,0170
getInterpolation() 0,0255
...
...
getInterpolation() 0,9740
getInterpolation() 0,9825
getInterpolation() 0,9910
getInterpolation() 0,9995
getInterpolation() 1,0000

有没有人知道为什么这不能正常工作?

最佳答案

在 Galaxy S4 上,开发者选项下有Animator duration scale选项。出于某种疯狂的原因,这在默认情况下是关闭的。将其切换为 1x 后,我在 S4 上的动画开始完美运行。这可能是导致您出现问题的原因。

关于机器人 ObjectAnimator.ofFloat 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505622/

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