# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Ctors | Methods | Inherited Methods

# View.DragShadowBuilder

`public static class View.DragShadowBuilder`
`extends Object` ``

java.lang.Object
↳ | android.view.View.DragShadowBuilder

Creates an image that the system displays during the drag and drop operation. This is called a "drag shadow". The default implementation for a DragShadowBuilder based on a View returns an image that has exactly the same appearance as the given View. The default also positions the center of the drag shadow directly under the touch point. If no View is provided (the constructor with no parameters is used), and `onProvideShadowMetrics()` and `onDrawShadow()` are not overridden, then the default is an invisible drag shadow.

You are not required to use the View you provide to the constructor as the basis of the drag shadow. The `onDrawShadow()` method allows you to draw anything you want as the drag shadow.

You pass a DragShadowBuilder object to the system when you start the drag. The system calls `onProvideShadowMetrics()` to get the size and position of the drag shadow. It uses this data to construct a `Canvas` object, then it calls `onDrawShadow()` so that your application can draw the shadow image in the Canvas.

### Developer Guides

For a guide to implementing drag and drop features, read the Drag and Drop developer guide.

## Summary

### Public constructors
`DragShadowBuilder(View view)` Constructs a shadow image builder based on a View.
`DragShadowBuilder()` Construct a shadow builder object with no associated View.

### Public methods
`final View` | `getView()` Returns the View object that had been passed to the `DragShadowBuilder(android.view.View)` constructor.
`void` | `onDrawShadow(Canvas canvas)` Draws the shadow image.
`void` | `onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint)` Provides the metrics for the shadow image.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public constructors

### DragShadowBuilder

    public DragShadowBuilder (View view)

Constructs a shadow image builder based on a View. By default, the resulting drag shadow will have the same appearance and dimensions as the View, with the touch point over the center of the View.

Parameters
`view` | `View`: A View. Any View in scope can be used.

### DragShadowBuilder

    public DragShadowBuilder ()

Construct a shadow builder object with no associated View. This constructor variant is only useful when the `onProvideShadowMetrics(android.graphics.Point, android.graphics.Point)` and `onDrawShadow(android.graphics.Canvas)` methods are also overridden in order to supply the drag shadow's dimensions and appearance without reference to any View object.

## Public methods

### getView

    public final View getView ()

Returns the View object that had been passed to the `DragShadowBuilder(android.view.View)` constructor. If that View parameter was `null` or if the `DragShadowBuilder()` constructor was used to instantiate the builder object, this method will return null.

Returns
`View` | The View object associate with this builder object.

### onDrawShadow

    public void onDrawShadow (Canvas canvas)

Draws the shadow image. The system creates the `Canvas` object based on the dimensions it received from the `onProvideShadowMetrics(android.graphics.Point, android.graphics.Point)` callback.

Parameters
`canvas` | `Canvas`: A `Canvas` object in which to draw the shadow image.

### onProvideShadowMetrics

    public void onProvideShadowMetrics (Point outShadowSize,
                    Point outShadowTouchPoint)

Provides the metrics for the shadow image. These include the dimensions of the shadow image, and the point within that shadow that should be centered under the touch location while dragging.

The default implementation sets the dimensions of the shadow to be the same as the dimensions of the View itself and centers the shadow under the touch point.

Parameters
`outShadowSize` | `Point`: A `Point` containing the width and height of the shadow image. Your application must set `Point.x` to the desired width and must set `Point.y` to the desired height of the image. Since Android P, the width and height must be positive values.
`outShadowTouchPoint` | `Point`: A `Point` for the position within the shadow image that should be underneath the touch point during the drag and drop operation. Your application must set `Point.x` to the X coordinate and `Point.y` to the Y coordinate of this position.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*