Most visited

Recently visited

Added in API level 11

View.DragShadowBuilder

public static class View.DragShadowBuilder
extends Object

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


创建拖放操作期间系统显示的图像。 这被称为“拖影”。 基于View的DragShadowBuilder的默认实现将返回一个与给定View完全相同外观的图像。 默认值也将拖影的中心直接放置在触摸点的下方。 如果未提供视图(使用不带参数的构造函数),并且未覆盖onProvideShadowMetrics()onDrawShadow() ,则默认为不可见的拖动阴影。

您不需要使用您提供给构造函数的视图作为拖影的基础。 onDrawShadow()方法允许您绘制任何您想要的拖影。

当您开始拖动时,您将DragShadowBuilder对象传递给系统。 系统调用onProvideShadowMetrics()来获取拖影的大小和位置。 它使用这些数据构造一个Canvas对象,然后它调用onDrawShadow()以便您的应用程序可以在Canvas中绘制阴影图像。

Developer Guides

有关实现拖放功能的指南,请阅读 Drag and Drop开发人员指南。

Summary

Public constructors

View.DragShadowBuilder(View view)

基于View构建阴影图像生成器。

View.DragShadowBuilder()

构建不具有关联视图的阴影生成器对象。

Public methods

final View getView()

返回已传递给构造函数 View.DragShadowBuilder(View)的View对象。

void onDrawShadow(Canvas canvas)

绘制阴影图像。

void onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint)

提供阴影图像的指标。

Inherited methods

From class java.lang.Object

Public constructors

View.DragShadowBuilder

Added in API level 11
View.DragShadowBuilder (View view)

基于View构建阴影图像生成器。 默认情况下,由此产生的阴影将具有与视图相同的外观和尺寸,并且触点位于视图的中心。

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

View.DragShadowBuilder

Added in API level 11
View.DragShadowBuilder ()

构建不具有关联视图的阴影生成器对象。 此构造函数变体仅在onProvideShadowMetrics(Point, Point)onDrawShadow(Canvas)方法也被覆盖时才有用,以便在不参考任何View对象的情况下提供拖影的尺寸和外观。 如果它们没有被覆盖,那么结果是一个看不见的拖影。

Public methods

getView

Added in API level 11
View getView ()

返回已传递给构造函数View.DragShadowBuilder(View)的View对象。 如果该View参数为null或者使用View.DragShadowBuilder()构造函数实例化构建器对象,则此方法将返回null。

Returns
View The View object associate with this builder object.

onDrawShadow

Added in API level 11
void onDrawShadow (Canvas canvas)

绘制阴影图像。 系统根据从onProvideShadowMetrics(Point, Point)回调中收到的尺寸创建Canvas对象。

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

onProvideShadowMetrics

Added in API level 11
void onProvideShadowMetrics (Point outShadowSize, 
                Point outShadowTouchPoint)

提供阴影图像的指标。 这些包括阴影图像的尺寸以及在拖动时应在触摸位置下居中的阴影内的点。

默认实现将阴影的尺寸设置为与View本身的尺寸相同,并将阴影居中在触点下方。

Parameters
outShadowSize Point: A Point containing the width and height of the shadow image. Your application must set x to the desired width and must set y to the desired height of the image.
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 x to the X coordinate and y to the Y coordinate of this position.

Hooray!