在我的应用程序中,我使用了drag&放下来安排一些TextViews。虽然在拖动对象附近未显示拖动拖动阴影(图片中的圆角是拖动阴影的位置)。如何定位到靠近拖动项目。我试过下面的代码
private final class MyTouchListener implements OnTouchListener {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(null, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
} else {
return false;
}
}
}
class MyDragListener implements OnDragListener {
Drawable enterShape = getResources().getDrawable(R.drawable.shape_droptarget);
Drawable normalShape = getResources().getDrawable(R.drawable.shape);
@Override
public boolean onDrag(View v, DragEvent event) {
int action = event.getAction();
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
TextView tv1 = (TextView) event.getLocalState();
TextView tv2 = (TextView) v;
String s1 = tv1.getText().toString();
String s2 = tv2.getText().toString();
tv1.setText(s2);
tv2.setText(s1);
tv1.setVisibility(View.VISIBLE);
tv2.setVisibility(View.VISIBLE);
break;
case DragEvent.ACTION_DRAG_ENDED:
if(!event.getResult())
((View)event.getLocalState()).setVisibility(View.VISIBLE);
default:
break;
}
return true;
}
}