2
我正试图在我的应用程序上记录每个触摸事件。 到目前为止,我可以记录每一个移动和触摸事件,但是当使用拖放拖动阴影将覆盖常规移动事件。 我想知道的是,如果有一种方法可以获得拖影的每个运动的x和y坐标。在Android上获取拖动阴影位置
我正试图在我的应用程序上记录每个触摸事件。 到目前为止,我可以记录每一个移动和触摸事件,但是当使用拖放拖动阴影将覆盖常规移动事件。 我想知道的是,如果有一种方法可以获得拖影的每个运动的x和y坐标。在Android上获取拖动阴影位置
@Override
public boolean onDrag(View v, DragEvent event) {
int action = event.getAction();
ViewGroup owner = (ViewGroup) v.getParent();
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_LOCATION:
mCurX = (int) event.getX();
mCurY = (int) event.getY();
mText.setText("Cur(X, Y) : " + mCurX + ", " + mCurY);
break;
case DragEvent.ACTION_DRAG_ENTERED:
dragState = "DRAG_ENTERED";
break;
case DragEvent.ACTION_DRAG_EXITED:
dragState = "DRAG_EXITED";
break;
case DragEvent.ACTION_DROP:
Log.d(TAG, "ACTION_DRAG_ENDED");
break;
case DragEvent.ACTION_DRAG_ENDED:
if(dragState == "DRAG_EXITED"){
DropAction();
}
break;
default:
break;
}
return true;
这个答案在这个问题上似乎是错误的。只有拖动的对象位于放置对象的边界内时才会触发ACTION_DRAG_LOCATION。 getX()/ getY()返回边界内拖动对象的相对位置。 – GabrielWeis 2016-08-04 15:58:36