10
我正在製作一個遊戲應用程序,我需要使用ondraglistener來拖放這裏我正在做的一個實現onDraglistener的類。使用onDraglistener拖放動畫回到原始位置,如果沒有丟到目標上
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
Log.v("here","drag started");
//no action necessary
break;
case DragEvent.ACTION_DRAG_ENTERED:
//no action necessary
Log.v("here","drag enteres");
break;
case DragEvent.ACTION_DRAG_LOCATION:
int mCurX = (int) event.getX();
int mCurY = (int) event.getY();
Log.v("Cur(X, Y) : " ,"here ::" + mCurX + ", " + mCurY);
break;
case DragEvent.ACTION_DRAG_EXITED:
//no action necessary
Log.v("here","drag exits");
break;
case DragEvent.ACTION_DROP:
.................do what ever when dropped...
}
在這裏我做一個視圖的touchlistener被draged和下降:
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
/*
* Drag details: we only need default behavior
* - clip data could be set to pass data as part of drag
* - shadow can be tailored
*/
view.setTag("option"+index);
ClipData data = ClipData.newPlainText("tag", "option"+index);
shadowBuilder = new View.DragShadowBuilder(view);
//start dragging the item touched
view.startDrag(data, shadowBuilder, view, 0);
offsetX = (int)view.getX();//(int)motionEvent.getX();
offsetY = (int)view.getY();//motionEvent.getY();
Log.v("here","it is ::" + (int)motionEvent.getX() + " , "+(int)motionEvent.getY());
return false;
}
現在它建立其獲得拖動到任意位置拖動手指陰影生成器。現在,我怎麼能讓暗影建造者或者視圖回到原來的位置,而不是降到目標。我嘗試了公共布爾onInterceptTouchEvent(MotionEvent事件),並移動到父視圖,並採取x,y位置和動畫它回到原來的位置,但它取消行動。有沒有什麼辦法讓x,y座標到一個地方,除了目標以外,視圖也會掉落。然後我就可以提前
嘗試: http://stackoverflow.com/questions/20741022/drag-拖放到目標後的原始位置後有陰影/ 20784464#20784464 –
嘿! @karan,找到你的問題的任何解決方案? – Vijju
@ karan421。你有沒有找到解決方案? – Beena