public DragEventAssert hasY(float y) { isNotNull(); float actualY = actual.getY(); assertThat(actualY) // .overridingErrorMessage("Expected Y <%s> but was <%s>", y, actualY) // .isEqualTo(y); return this; }
ImageView img = (ImageView)findViewById(R.id.top_mask); img.setOnDragListener(new View.OnDragListener() { @Override public boolean onDrag(View v, DragEvent event) { RelativeLayout.LayoutParams params = (android.widget.RelativeLayout.LayoutParams) v.getLayoutParams(); params.topMargin = (int) event.getX(); params.bottomMargin = (int) event.getY(); v.setLayoutParams(params); return false; } });
/** * @param item the view that received the drag event * @param event the event from {@link android.view.View.OnDragListener#onDrag(View, DragEvent)} * @return the coordinates of the touch on x and y axis relative to the screen */ public static Point getTouchPositionFromDragEvent(View item, DragEvent event) { Rect rItem = new Rect(); item.getGlobalVisibleRect(rItem); return new Point(rItem.left + Math.round(event.getX()), rItem.top + Math.round(event.getY())); }
public boolean isOnChild(View v, DragEvent event){ int count = getChildCount(); int x = (int) event.getX(); int y = (int) event.getY(); for(int i = 0; i < count; i++){ View view = getChildAt(i); int left = view.getLeft(); int right = view.getRight(); int top = view.getTop(); int bottom = view.getBottom(); if(left < x && x < right && bottom > y && y > top){ view.dispatchDragEvent(event); return true; } } return false; }
// inside onCreate(), needs "implements View.OnDragListener" card.setOnDragListener(this); public boolean onDrag(View v, DragEvent event) { // Defines a variable to store the action type for the incoming event final int action = event.getAction(); // Handles each of the expected events switch(action) { case DragEvent.ACTION_DRAG_LOCATION: final int x = event.getX(); final int y = event.getY(); Log.d("prefs", "X=" + String.valueOf(x) + " / Y=" + String.valueOf(y)); break; } return true; }
findViewById(R.id.relativeLayout).setOnDragListener(new View.OnDragListener() { @Override public boolean onDrag(View v, DragEvent event) { if (event.getAction() == DragEvent.ACTION_DRAG_DROP){ int x_cord = (int) event.getX(); int y_cord = (int) event.getY(); layoutParams.leftMargin = x_cord; layoutParams.topMargin = y_cord; editText.setLayoutParams(layoutParams); } return true; } });
root = findViewById(android.R.id.content); // get reference to root // add a Draglistener to your root view root.setOnDragListener(new OnDragListener() { @Override public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); if(action == DragEvent.ACTION_DROP) { // record position of finger lift dropX = event.getX(); dropY = event.getY(); } return false; } });
public DragEventAssert hasY(float y) { isNotNull(); float actualY = actual.getY(); assertThat(actualY) // .overridingErrorMessage("Expected Y <%s> but was <%s>", y, actualY) // .isEqualTo(y); return this; }
@Override public boolean onDragEvent(DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: return mEditor != null && mEditor.hasInsertionController(); case DragEvent.ACTION_DRAG_ENTERED: TextView.this.requestFocus(); return true; case DragEvent.ACTION_DRAG_LOCATION: final int offset = getOffsetForPosition(event.getX(), event.getY()); Selection.setSelection((Spannable)mText, offset); return true; case DragEvent.ACTION_DROP: if (mEditor != null) mEditor.onDrop(event); return true; case DragEvent.ACTION_DRAG_ENDED: case DragEvent.ACTION_DRAG_EXITED: default: return true; } }
@Override public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); float xCoord; float yCoord; if(action == DragEvent.ACTION_DRAG_LOCATION) { xCoord = event.getX(); yCoord = event.getY(); } return event.getResult(); //returns true for valid drop or false for invalid drop }
@Override public boolean onDrag(View v, DragEvent event) { if (event.getAction() == DragEvent.ACTION_DRAG_LOCATION) { mDragDropController.handleDragHovered(v, (int) event.getX(), (int) event.getY()); } return true; } }
private class OnWebViewDragListener implements OnDragListener { public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: String dropText = event.getClipData().getItemAt(0).getText().toString(); mJavaScript._dropText(mWebView, dropText, event.getX(), event.getY()); return true; default: break; } return false; } }
/** * Same as {@link #recordMotionEvent}. It creates a temporary {@link MotionEvent} object * using {@param event} for tracking velocity. */ void recordDragEvent(long dragStartTime, DragEvent event) { final int motionAction; switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: motionAction = MotionEvent.ACTION_DOWN; break; case DragEvent.ACTION_DRAG_LOCATION: motionAction = MotionEvent.ACTION_MOVE; break; case DragEvent.ACTION_DRAG_ENDED: motionAction = MotionEvent.ACTION_UP; break; default: return; } MotionEvent emulatedEvent = MotionEvent.obtain(dragStartTime, SystemClock.uptimeMillis(), motionAction, event.getX(), event.getY(), 0); recordMotionEvent(emulatedEvent); emulatedEvent.recycle(); }
@Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: //Log.i("onDrag", "ACTION_DRAG_STARTED"); break; case DragEvent.ACTION_DRAG_ENTERED: //Log.i("onDrag", "ACTION_DRAG_ENTERED"); break; case DragEvent.ACTION_DRAG_EXITED: //Log.i("onDrag", "ACTION_DRAG_EXITED"); break; case DragEvent.ACTION_DROP: //Log.i("onDrag", "ACTION_DROP"); int x_cord = (int) event.getX(); int y_cord = (int) event.getY(); View view = (View) event.getLocalState(); view.setX(x_cord-(view.getWidth()/2)); view.setY(y_cord-(view.getHeight()/2)); view.setVisibility(View.VISIBLE); break; case DragEvent.ACTION_DRAG_ENDED: //Log.i("onDrag", "ACTION_DRAG_ENDED"); 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; } } }
private void scrollOnDrag(View view, DragEvent event, ScrollView scrollView) { float ty = view.getTop() + event.getY(); if (isAncestor(scrollView, view)) { int thresh = scrollView.getHeight() / 6; if (ty < scrollView.getScrollY() + thresh) { scrollView.smoothScrollBy(0, -10); } else if (ty > scrollView.getScrollY() + scrollView.getHeight() - thresh) { scrollView.smoothScrollBy(0, 10); } } }
@Override public boolean onDrag(View view, DragEvent event) { // If the dragged item is nearing the edges, scroll to see more content // Dragged items will be sketches / folders switch(event.getAction()) { case DragEvent.ACTION_DRAG_LOCATION: float y = event.getY(); float h = drawerList.getHeight(); float upDif = y - THRESHOLD; float downDif = y - (h - THRESHOLD); if(upDif < 0) { drawerList.smoothScrollBy((int) upDif, 300); } if(downDif > 0) { drawerList.smoothScrollBy((int) upDif, 300); } break; } return true; } });
@Override public boolean onDrag(View view, DragEvent event) { if (event.getAction() == DragEvent.ACTION_DRAG_STARTED) { if (event.getLocalState() instanceof TowerView) { if (event.getX() > 0 && event.getX() < getWidth() && event.getY() > 0 && event.getY() < getHeight()) { Vector2 pos = mViewport.screenToGame(new Vector2(event.getX(), event.getY())); mTowerInserter.setPosition(pos); } return true; } } if (event.getAction() == DragEvent.ACTION_DRAG_LOCATION) { Vector2 pos = mViewport.screenToGame(new Vector2(event.getX(), event.getY())); mTowerInserter.setPosition(pos); } if (event.getAction() == DragEvent.ACTION_DROP) { mTowerInserter.buyTower(); } if (event.getAction() == DragEvent.ACTION_DRAG_EXITED || event.getAction() == DragEvent.ACTION_DRAG_ENDED) { mTowerInserter.cancel(); } return false; }
@Override public boolean onDragEvent(DragEvent event) { final int action = event.getAction(); switch (action) { case DragEvent.ACTION_DRAG_ENTERED: // TODO: This is temporary solution and should be removed once accessibility for // drag and drop is supported by framework(b/26871588). sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT); setAppearanceHighlighted(); break; case DragEvent.ACTION_DRAG_EXITED: setAppearanceNormal(); break; case DragEvent.ACTION_DRAG_LOCATION: if (mDragDropController != null) { mDragDropController.handleDragHovered(this, (int) event.getX(), (int) event.getY()); } break; case DragEvent.ACTION_DROP: sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT); if (mDragDropController != null) { mDragDropController.handleDragFinished((int) event.getX(), (int) event.getY(), true); } setAppearanceNormal(); break; } return true; }
private boolean actionDragLocation(View target, DragEvent event) { // Control demanded to the container to scroll if (checkTag(target, Constants.TAG_LIST)) { y = event.getY(); int scroll = getScroll(scrollView, target); if (y - scroll < Constants.SCROLLING_THREESHOLD) { dragDirection = DIRECTION_UP; startScrolling(target); } else if (scrollView.getHeight() - (y - scroll) < Constants.SCROLLING_THREESHOLD) { dragDirection = DIRECTION_DOWN; startScrolling(target); } else { stopScrolling(); } return true; } else { return false; } }