diff options
author | 2010-07-16 17:45:39 -0700 | |
---|---|---|
committer | 2010-07-16 18:04:18 -0700 | |
commit | 353c20a62ffe9b21b4efa9a6d3be2c1492e6ab83 (patch) | |
tree | 620d4083bacb987e7d45e1c97de0d63eba460403 /java/src | |
parent | 2a118d844e0b7dd3e01f25e937b02b05711768a6 (diff) | |
download | latinime-353c20a62ffe9b21b4efa9a6d3be2c1492e6ab83.tar.gz latinime-353c20a62ffe9b21b4efa9a6d3be2c1492e6ab83.tar.xz latinime-353c20a62ffe9b21b4efa9a6d3be2c1492e6ab83.zip |
Slightly reluctant to scroll candidate strip to be able to easily choose the suggestion
Also fixed the comment of mMinTouchableWidth
Bug: 2581826
Change-Id: Idc79186b0647b0e7e7ec889488b019b7db5241ad
Diffstat (limited to 'java/src')
-rwxr-xr-x | java/src/com/android/inputmethod/latin/CandidateView.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java index ae45001b8..93966a86c 100755 --- a/java/src/com/android/inputmethod/latin/CandidateView.java +++ b/java/src/com/android/inputmethod/latin/CandidateView.java @@ -144,9 +144,13 @@ public class CandidateView extends View { mPaint.setStrokeWidth(0); mPaint.setTextAlign(Align.CENTER); mDescent = (int) mPaint.descent(); - // 80 pixels for a 160dpi device would mean half an inch + // 50 pixels for a 160dpi device would mean about 0.3 inch mMinTouchableWidth = (int) (getResources().getDisplayMetrics().density * 50); + // Slightly reluctant to scroll to be able to easily choose the suggestion + // 50 pixels for a 160dpi device would mean about 0.3 inch + final int touchSlop = (int) (getResources().getDisplayMetrics().density * 50); + final int touchSlopSquare = touchSlop * touchSlop; mGestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() { @Override public void onLongPress(MotionEvent me) { @@ -160,6 +164,13 @@ public class CandidateView extends View { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { + final int deltaX = (int) (e2.getX() - e1.getX()); + final int deltaY = (int) (e2.getY() - e1.getY()); + final int distance = (deltaX * deltaX) + (deltaY * deltaY); + if (distance < touchSlopSquare) { + return false; + } + final int width = getWidth(); mScrolled = true; int scrollX = getScrollX(); |