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