在 Android 中使用回调链接动画



我使用以下链对包含多个ImageViewGridView的翻译进行动画处理:

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中的问题将是有趣的。

最新更新