View.onDragListener(View)
Api 11引入的工具类,用于实现View的拖拽操作,列表拖动
适用于用户的托起,放下操作,重在内容的移动,拖拽时可以附加拖拽数据,数据分为本地数据LocalState(App内进行拖拽),跨进程数据ClipData(两个App之间进行拖拽);比如添加物品进购物车
不需要进行自定义View,使用view.startDrag()/startDragAndDrop()来启动拖拽操作
通过view.setDragListener()或者重写View的onDragEvent()来监听View的拖拽状态
拖拽原理:创建一个图层(DragShadowBuilder)在屏幕的最上层,这个图层会随着用户手指的移动而移动
使用
开启拖拽
val clipData = ClipData.newPlainText("name", "drag data")
ViewCompat.startDragAndDrop(view, clipData, View.DragShadowBuilder(it), "LocalState", 0)
//或者view.startDragAndDrop()
val clipData = ClipData.newPlainText("name", "drag data")
view.startDragAndDrop(clipData, View.DragShadowBuilder(it), "LocalState", 0)
拖拽监听
view.setOnDragListener(HDragListener)
//重写OnDragListener