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()
      Construct a shadow builder object with no associated View. | |
| 
      DragShadowBuilder(View view)
      Constructs a shadow image builder based on a View. | |
| Public methods | |
|---|---|
| 
        
        
        
        final
        
        View | 
      getView()
      Returns the View object that had been passed to the
  | 
| 
        
        
        
        
        
        void | 
      onDrawShadow(Canvas canvas)
      Draws the shadow image. | 
| 
        
        
        
        
        
        void | 
      onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint)
      Provides the metrics for the shadow image. | 
| Inherited methods | |
|---|---|
Public constructors
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.
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. | 
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: ACanvasobject in which to draw the shadow image.
 This value cannot benull. | 
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: APointcontaining the width and height
 of the shadow image. Your application must setPoint.xto the
 desired width and must setPoint.yto the desired height of the
 image. Since Android P, the width and height must be positive values. | 
| outShadowTouchPoint | Point: APointfor the position within the
 shadow image that should be underneath the touch point during the drag and drop
 operation. Your application must setPoint.xto the
 X coordinate andPoint.yto the Y coordinate of this position. | 
