如何停止拖动视图的动画?

How to stop animation of dragged view?

我有 2 个 GridView,我可以将项目从一个拖到另一个。但是在放下视图后,android 会播放移动到放下视图的原始位置的动画。像那样:

在那个例子中,我将顶部网格项目放到了底部网格中。

我试图在删除项目和 DragShadow 后将其销毁。但这没有帮助。 此动画仅在 Android 牛轧糖 OS (24+) 的设备上播放。所以我想知道,我该如何禁用它?

一切都是为了 View.OnDragListener。在我的示例中,我只在 topGrid 上有 OnDragListener。但是如果我对它们都设置 OnDragListener ,一切都会按预期进行。我想,Android 认为您没有处理拖放事件,导致您从顶部拖放项目的视图没有 dragListener

这是为了澄清之前的答案。如果您想摆脱掉落时出现的动画,请设置一个在 activity 的内容视图上不执行任何操作的 OnDragListener:

View theContentView = theContext.findViewById(android.R.id.content);
theContentView.setOnDragListener(xxx);

其中 xxx 是一个 OnDragListener,其 onDrag(...) 方法除了 return TRUE 外什么都不做。