Android dragshadowbuilder shadow size

I want to increase the shadow of the image when dragging. I created my own dragshadowbuilder and increased the size of the double, but nothing worked.

public class ImageDragShadowBuilder extends View.DragShadowBuilder { public ImageDragShadowBuilder(View v) { super(v); } @Override public void onProvideShadowMetrics(Point shadowSize, Point touchPoint) { shadowSize.set(getView().getWidth()*2, getView().getHeight()*2); touchPoint.set(getView().getWidth() / 2, getView().getHeight() / 2); }} 

What is the reason?

+6
source share
1 answer

Well, this is not so clear in the documentation. I use this builder to reduce the size that you just need to change the division by multiplying for your condition;

  private static class MyDragShadowBuilder extends View.DragShadowBuilder { private Point mScaleFactor; // Defines the constructor for myDragShadowBuilder public MyDragShadowBuilder(View v) { // Stores the View parameter passed to myDragShadowBuilder. super(v); } // Defines a callback that sends the drag shadow dimensions and touch point back to the // system. @Override public void onProvideShadowMetrics (Point size, Point touch) { // Defines local variables int width; int height; // Sets the width of the shadow to half the width of the original View width = getView().getWidth() / 2; // Sets the height of the shadow to half the height of the original View height = getView().getHeight() / 2; // Sets the size parameter width and height values. These get back to the system // through the size parameter. size.set(width, height); // Sets size parameter to member that will be used for scaling shadow image. mScaleFactor = size; // Sets the touch point position to be in the middle of the drag shadow touch.set(width / 2, height / 2); } @Override public void onDrawShadow(Canvas canvas) { // Draws the ColorDrawable in the Canvas passed in from the system. canvas.scale(mScaleFactor.x/(float)getView().getWidth(), mScaleFactor.y/(float)getView().getHeight()); getView().draw(canvas); } } 
+14
source

Source: https://habr.com/ru/post/976154/


All Articles