如果没有放下目标,则将动画阴影拖放回原始位置

时间:2013-08-20 00:41:39

标签: android drag-and-drop

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

1 个答案:

答案 0 :(得分:1)

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

将OnDragListener添加到根视图中, 在拖动View的onDrag(View view,DragEvent事件)中等待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);