拖动阴影远离Android中的Drag对象

时间:2016-02-18 11:48:50

标签: android drag-and-drop

在我的应用程序中,我使用了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;
        }
      }

enter image description here

0 个答案:

没有答案