From 74d94694d26a04bd932bd44a1c28fd57e164cf6b Mon Sep 17 00:00:00 2001 From: Eric YUAN Date: Sun, 3 May 2015 17:57:36 +0100 Subject: [PATCH 1/2] Fixed clear button isn't clickable issue when inputting long single line text --- .../com/rengwuxian/materialedittext/MaterialEditText.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java b/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java index dbad52bd..2e5b59bd 100644 --- a/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java +++ b/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java @@ -1504,8 +1504,8 @@ public boolean onTouchEvent(MotionEvent event) { private boolean insideClearButton(MotionEvent event) { float x = event.getX(); float y = event.getY(); - int startX = getScrollX() + (iconLeftBitmaps == null ? 0 : (iconOuterWidth + iconPadding)); - int endX = getScrollX() + (iconRightBitmaps == null ? getWidth() : getWidth() - iconOuterWidth - iconPadding); + int startX = iconLeftBitmaps == null ? 0 : (iconOuterWidth + iconPadding); + int endX = iconRightBitmaps == null ? getWidth() : getWidth() - iconOuterWidth - iconPadding; int buttonLeft; if (isRTL()) { buttonLeft = startX; From 313f3a9b5e124fe0e5525f6d21c870a124ef13e4 Mon Sep 17 00:00:00 2001 From: Mikael Johansson Date: Fri, 15 May 2015 15:31:11 +0200 Subject: [PATCH 2/2] Made sure the touch event is propagated when not clicking on the clear button --- .../java/com/rengwuxian/materialedittext/MaterialEditText.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java b/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java index 2e5b59bd..7127101a 100644 --- a/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java +++ b/library/src/main/java/com/rengwuxian/materialedittext/MaterialEditText.java @@ -1469,8 +1469,9 @@ public boolean onTouchEvent(MotionEvent event) { if (insideClearButton(event)) { clearButtonTouched = true; clearButtonClicking = true; + return true; } - return true; + break; case MotionEvent.ACTION_MOVE: if (clearButtonClicking && !insideClearButton(event)) { clearButtonClicking = false;