在可拖拽的控件中加入如下代码(长按激活拖动):
view1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipData data = ClipData.newPlainText("key", "value");
v.startDrag(data, new DragShadowBuilder(v), v, 0);
return false;
}
});
在需接受拖拽的控件中加入如下代码:
view2.setOnDragListener(new OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch(event.getAction()){
case DragEvent.ACTION_DRAG_STARTED:
return true;
case DragEvent.ACTION_DRAG_ENTERED:
Log.e("sky", "ACTION_DRAG_ENTERED");
return false;
case DragEvent.ACTION_DRAG_EXITED:
Log.e("sky", "ACTION_DRAG_EXITED");
return false;
case DragEvent.ACTION_DRAG_ENDED:
Log.e("sky", "ACTION_DRAG_ENDED");
return false;
case DragEvent.ACTION_DROP:
String value = event.getClipData().getItemAt(0).getText().toString();
Log.e("sky", "ACTION_DROP");
return true;
}
return false;
}
});
关于android中的拖拽处理(待续)
最新推荐文章于 2025-04-24 14:53:15 发布