public DragEventAssert hasLocalState(Object localState) { isNotNull(); Object actualLocalState = actual.getLocalState(); assertThat(actualLocalState) // .overridingErrorMessage("Expected local state <%s> but was <%s>", localState, actualLocalState) // .isEqualTo(localState); return this; }
if (event.getLocalState()==null || !event .getClipDescription() .hasMimeType(ClipDescription.MIMETYPE_TEXT_URILIST)) {
if (event.getLocalState()==null) { result=false;
if (event.getLocalState()==null) { result=false;
final View draggedView = (View) event.getLocalState();
@Override public boolean onDrag(View eventView, DragEvent event) { Integer dragViewPos = ((Integer) event.getLocalState()); int eventViewPos = listView.getPositionForView(eventView) - listView.getHeaderViewsCount(); ... }
private MeasurementOrderPreference castLocalState(DragEvent event) { return (MeasurementOrderPreference) event.getLocalState(); }
private int mDragResourceId;//DECLARE THIS FIELD @Override public boolean onDrag(View v, DragEvent event) { // TODO Auto-generated method stub View dragView = (View) event.getLocalState(); //ADD THIS LINE mDragResoruceId = dragView.getId(); //REST OF YOUR CODE }
gridview.setOnDragListener(new View.OnDragListener() { public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); switch (action) { case DragEvent.ACTION_DROP: if (event.getLocalState() == v) return false; else { ImageView view = (ImageView) event.getLocalState(); view.setVisibility(View.VISIBLE); } break; default: break; } return true; } });
try to use TouchImageView instead of ImageView in Layout.because touchimageview have property that zooming in or out itself https://github.com/MikeOrtiz/TouchImageView from this link you learn how to use touchimageview... Then After implement onDragListener of TouchImageView so you can get DRAG And Drop of Imageview easily... @Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: TouchImageView target = (TouchImageView) v; TouchImageView dragged = (TouchImageView) event.getLocalState(); Drawable target_draw = target.getDrawable(); Drawable dragged_draw = dragged.getDrawable(); dragged.setImageDrawable(target_draw); target.setImageDrawable(dragged_draw); } return true; }
@Override public boolean onDrag(View pV, DragEvent pEvent) { final int dragAction = pEvent.getAction(); View dragView = (View) pEvent.getLocalState(); final FrameLayout container = (FrameLayout) pV; if (dragAction == DragEvent.ACTION_DRAG_STARTED) { } else if (dragAction == DragEvent.ACTION_DRAG_ENTERED) { } else if (dragAction == DragEvent.ACTION_DRAG_EXITED) { } else if (dragAction == DragEvent.ACTION_DROP) { }
<com.luminous.pick.TouchImageView android:id="@+id/img2" android:layout_width="match_parent" android:layout_height="match_parent" /> Then After implement onDragListener of TouchImageView so you can get DRAG And Drop of Imageview easily... @Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: TouchImageView target = (TouchImageView) v; TouchImageView dragged = (TouchImageView) event.getLocalState(); Drawable target_draw = target.getDrawable(); Drawable dragged_draw = dragged.getDrawable(); dragged.setImageDrawable(target_draw); target.setImageDrawable(dragged_draw); } return true; }
public DragEventAssert hasLocalState(Object localState) { isNotNull(); Object actualLocalState = actual.getLocalState(); assertThat(actualLocalState) // .overridingErrorMessage("Expected local state <%s> but was <%s>", localState, actualLocalState) // .isEqualTo(localState); return this; }
item_drag_listener = new View.OnDragListener(){ public boolean onDrag(View v, DragEvent event){ if (event.getLocalState() == v) return true; overlays = v.findViewById(R.id.copy_move_overlays); switch (event.getAction()){ case DragEvent.ACTION_DRAG_ENTERED: overlays.setVisibility(View.VISIBLE); break; case DragEvent.ACTION_DRAG_EXITED: overlays.setVisibility(View.INVISIBLE); break; case DragEvent.ACTION_DRAG_STARTED: return true; case DragEvent.ACTION_DROP: return true; } return false; } };
ImageView dragged = (ImageView) event.getLocalState();
private void processDrop(DragEvent event) { final ClipData data = event.getClipData(); final int N = data.getItemCount(); for (int i = 0; i < N; i++) { ClipData.Item item = data.getItemAt(i); Log.i(TAG, "Dropped item " + i + " : " + item); if (mReportView != null) { String text = item.coerceToText(getContext()).toString(); if (event.getLocalState() == (Object) this) { text += " : Dropped on self!"; } mReportView.setText(text); } } } }
private void processDrop(DragEvent event) { final ClipData data = event.getClipData(); final int N = data.getItemCount(); for (int i = 0; i < N; i++) { ClipData.Item item = data.getItemAt(i); Log.i(TAG, "Dropped item " + i + " : " + item); if (mReportView != null) { String text = item.coerceToText(getContext()).toString(); if (event.getLocalState() == (Object) this) { text += " : Dropped on self!"; } mReportView.setText(text); } } } }
View.OnDragListener DropListener = new View.OnDragListener() { @Override public boolean onDrag(View view, DragEvent event) { int action = event.getAction(); View draggedView = (View) event.getLocalState(); //view is the country where the flag was dropped, draggedView is the flag you dropped //below we check if the correct flag is dropped in the correct country switch (event.getAction()){ case DragEvent.ACTION_DROP: for (int i; i< countryImages.length(); i++){ if (draggedView.getId() == countryFlags[i] && view.getId()== countryImages[i]) draggedView.setImageResource(R.drawable.vcheckmark); } break; default: break; } return true; } };
rootView.findViewById(R.id.dropArea).setOnDragListener(new OnDragListener() { @Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: View circleView = (View)event.getLocalState(); if(circleView != null) { circleView.setX(event.getX()); circleView.setY(event.getY()); circleView.setVisibility(View.VISIBLE); } return true; case DragEvent.ACTION_DRAG_ENDED: if (!event.getResult) findViewById(R.id.imgCircle).setVisibility(View.VISIBLE); return true; default: return false; } } }
public boolean onDrag(View target, DragEvent event) { int action = event.getAction(); final View dragged = (View) ((View) event.getLocalState()).getParent(); scrollView = (ScrollView) getScrollableAncestor(dragged); Log.v(TAG, "Dragging item. Action: " + action); switch (action) { case DragEvent.ACTION_DRAG_STARTED: return actionDragStarted(event, dragged); case DragEvent.ACTION_DRAG_ENTERED: return actionDragEntered(target, dragged); case DragEvent.ACTION_DRAG_EXITED: return actionDragExited(target, dragged); case DragEvent.ACTION_DRAG_LOCATION: return actionDragLocation(target, event); case DragEvent.ACTION_DROP: return actionDrop(dragged); default: return true; } }