0
如何創建一個自定義DragShadowBuilder來動畫縮放視圖,而不是僅縮放到設置大小?在DragShadowBuilder畫布拖放過程中縮放動畫
例如,我有一個用於拖放的ImageView,當我按下ImageView時,圖像需要在用於拖放的畫布中增長,拖動它時會看到您的手指。到放置區域。
我能夠通過以下方式將圖像縮放到一定大小CustomDragShadowBuilder
找到的類here但是有沒有一種方法可以縮放比例?
public static class CustomDragShadowBuilder extends View.DragShadowBuilder {
private static final int SCALING_FACTOR = 4;
public CustomDragShadowBuilder(View view) {
super(view);
}
@Override
public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) {
View v = getView();
final int width = v.getWidth() * SCALING_FACTOR;
final int height = v.getHeight() * SCALING_FACTOR;
shadowSize.set(width, height);
shadowTouchPoint.set(width/2, height/2);
}
@Override
public void onDrawShadow(Canvas canvas) {
canvas.scale(SCALING_FACTOR, SCALING_FACTOR);
getView().draw(canvas);
}
}