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