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中绘制阴影图像。
有关实现拖放功能的指南,请阅读 Drag and Drop开发人员指南。
Public constructors |
|
---|---|
View.DragShadowBuilder(View view) 基于View构建阴影图像生成器。 |
|
View.DragShadowBuilder() 构建不具有关联视图的阴影生成器对象。 |
Public methods |
|
---|---|
final View |
getView() 返回已传递给构造函数 |
void |
onDrawShadow(Canvas canvas) 绘制阴影图像。 |
void |
onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint) 提供阴影图像的指标。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
View.DragShadowBuilder (View view)
基于View构建阴影图像生成器。 默认情况下,由此产生的阴影将具有与视图相同的外观和尺寸,并且触点位于视图的中心。
Parameters | |
---|---|
view |
View : A View. Any View in scope can be used. |
View.DragShadowBuilder ()
构建不具有关联视图的阴影生成器对象。 此构造函数变体仅在onProvideShadowMetrics(Point, Point)
和onDrawShadow(Canvas)
方法也被覆盖时才有用,以便在不参考任何View对象的情况下提供拖影的尺寸和外观。 如果它们没有被覆盖,那么结果是一个看不见的拖影。
View getView ()
返回已传递给构造函数View.DragShadowBuilder(View)
的View对象。 如果该View参数为null
或者使用View.DragShadowBuilder()
构造函数实例化构建器对象,则此方法将返回null。
Returns | |
---|---|
View |
The View object associate with this builder object. |
void onDrawShadow (Canvas canvas)
绘制阴影图像。 系统根据从onProvideShadowMetrics(Point, Point)
回调中收到的尺寸创建Canvas
对象。
Parameters | |
---|---|
canvas |
Canvas : A Canvas object in which to draw the shadow image. |
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. |