如何解决ObjectAnimator 尝试暂停时的奇怪行为
我有一些动画对象。
我使用自定义类来存储它们的 ImageView
和 ObjectAnimator
public void pause_animations(View view) {
for (int i = 0; i < num_of_objects; i++) {
objects[i].animator.pause();
}
}
- 作为点击按钮。
- 在某个随机时间。
当我按下按钮并运行此代码时 - 一切正常。所有物体都停止移动。 但在第二种情况下,对象只是冻结和传送。
更新。我有一个触摸监听器。每次用户触摸屏幕时,都会运行一个方法 try_to_pause();
。
private void try_to_pause() {
if (number_of_touches % touches_to_pause == 0) {
pause_animations(null);
}
}
解决方法
从 Animator#pause() 方法的文档中,另一个原因可能是您开始动画是从与主线程不同的线程开始的(重点是我的)。
暂停正在运行的动画。 此方法只能在启动动画的同一线程上调用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。