一、DropTarget
DropTarget是一个接口,它定义了一个可以接收被拖动对象的对象,意思是说实现了这个接口的对象是一个可以放置被拖动对象的容器.
实现了这个接口的有ButtonDropTarget、Folder、Workspace三个.
它内部定义了一个DragObject类,声明了一些与拖动有关的属性
class DragObject {
public int x = -1;
public int y = -1;
/** 触摸点到cell右上角的x位置 */
public int xOffset = -1;
/** 触摸点到cell右上角的y位置 */
public int yOffset = -1;
/**
* 表示一个拖动操作是否在最后的状态,放下或者取消。和onDragExit不同,
* 这个只有在当前拖动对象上拖动终结时或者拖动出了当前对象时才会产生
*/
public boolean dragComplete = false;
/** 拖动的对象 */
public DragView dragView = null;
/** 与被拖动对象相关联的数据信息 */
public Object dragInfo = null;
/** 发起拖动的对象 */
public DragSource dragSource = null;
/** 顾名思义,调用拖动动画的Runnable */
public Runnable postAnimationRunnable = null;
/** 表示是否拖动操