我使用以下链对包含多个ImageView
的GridView
的翻译进行动画处理:
gridView.animate().x(10).y(10).setDuration(2000).setListener(
new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if(callback != null) {
callback.run();
}
super.onAnimationEnd(animation);
}
}
);
回调是一个Runnable
,由调用链的方法定义。
所以,问题来了:由于某种原因,只有 y 坐标被翻译。我试图删除AnimatorListenerAdapter
,它工作正常。
为什么适配器会"阻止"x 轴的动画,我该如何解决这个问题?
我通过使用 API 级别 16 的方法来解决它,ViewPropertyAnimator.withEndAction(Runnable)
在链的末尾而不是侦听器。
但是如何解决API <16中的问题将是有趣的。