1

我已经使用 ondraglistener 实现了拖放功能。它工作正常但我的问题是,如果视图没有落在目标上,则所制作的阴影不会回到原始图像。如何动画从位置到原始位置的阴影。任何帮助

4

1 回答 1

1

我们必须编写自己的逻辑将其移到后面,这就是我们所做的。

将 OnDragListener 添加到您的根视图,在被拖动视图的 onDrag(View view, DragEvent event) 中等待 ACTION_DRAG_ENDED。

创建阴影的图像副本。

Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
shadowBuilder.onDrawShadow(canvas);

使用此位图创建为 ImageView 并添加到视图层次结构的根视图。

然后创建 Animator 将其移回原始位置并移除 ImageView。

ObjectAnimator defaultChangeIn = ObjectAnimator.ofPropertyValuesHolder((Object)mImageView,
                pvhLeft, pvhTop, pvhRight, pvhBottom);
于 2013-08-20T02:07:42.597 回答