我正在为 Android 制作游戏,但在进行下一次更新时遇到了问题。游戏设置为从 API 19 开始工作。我正在使用 ObjectAnimator 类为教程中指向按钮的小弹跳箭头设置动画。没有什么花哨。
代码:
//Animate minestone clicker button arrow
b1_animator = ObjectAnimator.ofFloat(button_minestone_pointer,"translationX",0,-100);
b1_animator.setDuration(500);
b1_animator.setRepeatMode(ValueAnimator.REVERSE);
b1_animator.setRepeatCount(Animation.INFINITE);
b1_animator.start();
Run Code Online (Sandbox Code Playgroud)
问题是,动画在 Android Studio (API 19 - API 27) 和所有更新的 API 提供的所有虚拟设备上都很流畅,但在我的手机 (Sharp SH-01G) 上,它运行的是 Android 4.4、自动滚动或这些箭头从一个位置跳转到另一个创建模糊图像。还没有机会在另一个 API21 之前的设备上检查它。感觉它不尊重“.setDuration();” 少量。卷轴会立即跳到所需的位置,但一点也不流畅。
这是滚动条代码:
ObjectAnimator.ofInt(scroller_clickers, "scrollX", 800).setDuration(777).start();
Run Code Online (Sandbox Code Playgroud)
所以问题是,是什么导致了这种行为?我也尝试使用 view.animate() 代替,但它也没有帮助。线索是,当我尝试查找“getAnimatedFraction();”时 值,模拟器显示各种分数 - 0.0 和 1 之间的平滑过渡。我的手机总是以某种随机顺序显示 0.0 或 1.0(将其填充到 TextView 中并使用 Runnable 刷新)。分配“AccelerateDecelerateInterpolator()”也不起作用。我不想向公众展示一个有缺陷的游戏:(
有任何想法吗?