@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_UP: //判断是否点击到按钮所在的区域 if (event.getX() - (getMeasuredWidth() - getPaddingRight()) >= 0) { setError(null); this.setText(""); } break; } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { boolean result = super.onTouchEvent(event); if (wxGesture != null) { result |= wxGesture.onTouch(this, event); } ViewParent parent = getParent(); if(parent != null){ switch (event.getAction() & MotionEvent.ACTION_MASK){ case MotionEvent.ACTION_DOWN: if(mLines < getLineCount()) { //scrollable parent.requestDisallowInterceptTouchEvent(true); } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: parent.requestDisallowInterceptTouchEvent(false); break; } } return result; }
@Override public boolean onTouchEvent(MotionEvent event) { return !mTouchable || super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { /** * 如果正在编辑状态,则劫持touch事件并由editText处理 * 如果没有处在编辑状态,则此时应优先处理图层变换 */ if (isEditing()) { super.onTouchEvent(event); return true; } return false; }
@Override public boolean onTouchEvent(MotionEvent event) { if (mHelper != null) { mHelper.onTouchEvent(event); } return super.onTouchEvent(event); }
@Override public boolean onTouch(View v, MotionEvent event) { int inType = ((EditText) v).getInputType(); // backup the input type ((EditText) v).setInputType(InputType.TYPE_NULL); // disable soft input ((EditText) v).onTouchEvent(event); // call native handler ((EditText) v).setInputType(inType); // restore input type ((EditText) v).setSelection(((EditText) v).getText().length()); return true; }
@Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE|| event.getAction() == MotionEvent.ACTION_UP) { getParent().requestDisallowInterceptTouchEvent(true); } return super.onTouchEvent(event); } }
@Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if (rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if (rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); }
EditText edittext = (EditText) v; int inType = edittext.getInputType(); // Backup the input type edittext.setInputType(InputType.TYPE_NULL); // Disable standard keyboard edittext.onTouchEvent(event); // Call native handler edittext.setInputType(inType); // Restore input type float x = event.getX(); float y = event.getY(); int touchPosition = edittext.getOffsetForPosition(x, y); if (touchPosition > 0){ edittext.setSelection(touchPosition); } return true; // Consume touch event
@Override public boolean onTouchEvent(MotionEvent event) { // 清空edit内容 if (drawableDel != null && event.getAction() == MotionEvent.ACTION_UP) { eventX = (int) event.getRawX(); eventY = (int) event.getRawY(); // Log.i(TAG, "eventX = " + eventX + "; eventY = " + eventY); if (rect == null) rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - drawableDel.getIntrinsicWidth(); if (rect.contains(eventX, eventY)) { setText(""); } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP && drawableEnd != null) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if (rect.contains(eventX, eventY)){ // 判断是否在点击范围之内 togglePasswordVisibility(); event.setAction(MotionEvent.ACTION_CANCEL); // 防止弹出软键盘 } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if ((this.dRight != null) && (event.getAction() == 1)) { this.rBound = this.dRight.getBounds(); int i = (int) event.getRawX(); if (i > getRight() - 3 * this.rBound.width()) { // 点击的位置聚焦 requestFocus(); setText(""); event.setAction(MotionEvent.ACTION_CANCEL); } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if ((this.dRight != null) && (event.getAction() == 1)) { this.rBound = this.dRight.getBounds(); int i = (int) event.getRawX(); if (i > getRight() - 3 * this.rBound.width()) { // 点击的位置聚焦 requestFocus(); setText(""); event.setAction(MotionEvent.ACTION_CANCEL); } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if (getCompoundDrawables()[2] != null) { if (event.getAction() == MotionEvent.ACTION_UP) { boolean touchable = event.getX() > (getWidth() - getPaddingRight() - mClearDrawable.getIntrinsicWidth()) && (event.getX() < ((getWidth() - getPaddingRight()))); if (touchable) { this.setText(""); } } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { if (getCompoundDrawables()[2] != null) { if (event.getAction() == MotionEvent.ACTION_UP) { boolean touchable = event.getX() > (getWidth() - getPaddingRight() - mClearDrawable.getIntrinsicWidth()) && (event.getX() < ((getWidth() - getPaddingRight()))); if (touchable) { this.setText(""); } } } return super.onTouchEvent(event); }
@Override public boolean dispatchTouchEvent(MotionEvent event) { if (getCompoundDrawables()[2] != null) { if (event.getAction() == MotionEvent.ACTION_UP) { boolean touchable = event.getX() > (getWidth() - getPaddingRight() - mClearDrawable.getIntrinsicWidth()) && (event.getX() < ((getWidth() - getPaddingRight()))); if (touchable) { this.setText(""); } } } return super.onTouchEvent(event); }
/** * 因为我们不能直接给EditText设置点击事件,所以我们用记住我们按下的位置来模拟点击事件 * 当我们按下的位置 在 EditText的宽度 - 图标到控件右边的间距 - 图标的宽度 和 * EditText的宽度 - 图标到控件右边的间距之间我们就算点击了图标,竖直方向就没有考虑 */ @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { if (getCompoundDrawables()[2] != null) { boolean touchable = event.getX() > (getWidth() - getTotalPaddingRight()) && (event.getX() < ((getWidth() - getPaddingRight()))); if (touchable) { this.setText(""); } } } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); requestFocus(); requestFocusFromTouch(); SystemUtil.closeKeyboard(this); if (event.getAction() == MotionEvent.ACTION_UP) { if (!isShow()) { show(); } } return true; }
@Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); requestFocus(); requestFocusFromTouch(); if (isNeedCustomKeyboard) { hideSysInput(); showKeyboard(); } return true; }