我希望能够用一个按钮实现两种不同的拖放交互。如果用户长按按钮,他可以移动按钮。这不是问题,我已经实现了OnLongClickListener
:
@Override
public boolean onLongClick(View v) {
ClipData dragData = ClipData.newPlainText(
AbstractFragment.BUTTON_ID_TAG, "" + v.getId());
DragShadowBuilder shadow = new DragShadowBuilder(v);
v.startDrag(dragData, shadow, null, 0);
return true;
}
如果用户触摸按钮并立即拖动,他可以从该按钮绘制一条线到另一个位置。我认为我需要实现
OnTouchListener
接口,但是我不确定如何识别这种用户交互的条件。我需要识别哪个MotionEvent
或哪些MotionEvent
的组合以识别此输入。希望您可以给我一些提示!
问候 warci