1. 概述:
HoneyComb3.0支持View的拖放操作,可以将一个View从某一个位置拖放到另一个位置,在拖放过程中必须有两个或两个以上的View参与,一
个是被拖的View,另一个或多个是接收被拖View的View。
2. 效果图:
(1)屏幕中存在两个View(一个红色区域(被拖View),一个绿色区域(接收被拖View的View)),如下图:
(2)长按红色区域(被拖View)开始拖动,在开始拖动某一个View时屏幕中所有View的DragEvent.ACTION_DRAG_STARTED事件被触发,
如下图:
(3)拖动红色区域(被拖View)进入绿色区域(接收被拖View的View),进入绿色区域后会触发绿色View的
DragEvent.ACTION_DRAG_ENTERED,DragEvent.ACTION_DRAG_LOCATION等事件,如下图。
(4)将红色区域拖到绿色区域后松开鼠标(Drop操作),这时会触发绿色View的DragEvent.ACTION_DROP,
DragEvent.ACTION_DRAG_ENDED等事件,红绿区域交换位置,如下图:
3. 代码实现:
(1)自定义第一个View,即:被拖View,命名:AreaOne.java,代码:
(2)自定义第二个View,即:接受被拖View的View,实现onDragEvent()方法,命名:AreaTwo.java,代码:
(3)主布局(main.xml)实现:
(4)主Activity实现: