diff options
author | 2010-09-12 06:07:55 -0700 | |
---|---|---|
committer | 2010-09-12 06:07:55 -0700 | |
commit | 3e5ebd3d407b09945d1ececd47b642338100559d (patch) | |
tree | a569d5c697e4e559dd3dba4fc0ad7544d61de1dc /java | |
parent | fcaca2121b481517718ae3c6ab02df17d3e5667e (diff) | |
parent | 65dab9078dd0c77adcc49d08c46039dad2a950f6 (diff) | |
download | latinime-3e5ebd3d407b09945d1ececd47b642338100559d.tar.gz latinime-3e5ebd3d407b09945d1ececd47b642338100559d.tar.xz latinime-3e5ebd3d407b09945d1ececd47b642338100559d.zip |
am 65dab907: am aed01227: Fix a bug in y-axis offset for sliding finger key detection for mini popup keyboard.
Merge commit '65dab9078dd0c77adcc49d08c46039dad2a950f6'
* commit '65dab9078dd0c77adcc49d08c46039dad2a950f6':
Fix a bug in y-axis offset for sliding finger key detection for mini popup keyboard.
Diffstat (limited to 'java')
-rw-r--r-- | java/res/values/attrs.xml | 3 | ||||
-rw-r--r-- | java/res/values/styles.xml | 1 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java | 15 |
3 files changed, 16 insertions, 3 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index e3171eb33..a8eaab9a3 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -46,6 +46,9 @@ <!-- Amount to offset the touch Y coordinate by, for bias correction. --> <attr name="verticalCorrection" format="dimension" /> + <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. --> + <attr name="miniKeyboardSlideAllowance" format="dimension" /> + <!-- Layout resource for popup keyboards. --> <attr name="popupLayout" format="reference" /> diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml index 16478c883..6ec428603 100644 --- a/java/res/values/styles.xml +++ b/java/res/values/styles.xml @@ -27,6 +27,7 @@ <item name="labelTextSize">14sp</item> <item name="popupLayout">@layout/keyboard_popup_keyboard</item> <item name="verticalCorrection">-10dip</item> + <item name="miniKeyboardSlideAllowance">30dip</item> <item name="shadowColor">#BB000000</item> <item name="shadowRadius">2.75</item> <item name="backgroundDimAmount">0.5</item> diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index 5732cf703..610d95423 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -200,6 +200,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private int mMiniKeyboardOriginY; private long mMiniKeyboardPopupTime; private int[] mWindowOffset; + private float mMiniKeyboardSlideAllowance; /** Listener for {@link OnKeyboardActionListener}. */ private OnKeyboardActionListener mKeyboardActionListener; @@ -388,6 +389,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx case R.styleable.LatinKeyboardBaseView_verticalCorrection: mVerticalCorrection = a.getDimensionPixelOffset(attr, 0); break; + case R.styleable.LatinKeyboardBaseView_miniKeyboardSlideAllowance: + mMiniKeyboardSlideAllowance = a.getDimensionPixelOffset(attr, 0); + break; case R.styleable.LatinKeyboardBaseView_keyPreviewLayout: previewLayout = a.getResourceId(attr, 0); break; @@ -1091,8 +1095,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx } else if (x > (getMeasuredWidth() - container.getMeasuredWidth())) { adjustedX = getMeasuredWidth() - container.getMeasuredWidth(); } - mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft(); - mMiniKeyboardOriginY = y + container.getPaddingTop(); + mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft() - mWindowOffset[0]; + mMiniKeyboardOriginY = y + container.getPaddingTop() - mWindowOffset[1]; mMiniKeyboard.setPopupOffset(adjustedX, y); mMiniKeyboard.setShifted(isShifted()); // Mini keyboard needs no pop-up key preview displayed. @@ -1116,7 +1120,12 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private MotionEvent generateMiniKeyboardMotionEvent(int action, int x, int y, long eventTime) { return MotionEvent.obtain(mMiniKeyboardPopupTime, eventTime, action, - x - mMiniKeyboardOriginX, y - mMiniKeyboardOriginY, 0); + x - mMiniKeyboardOriginX, + // TODO: Currently just taking care of "below" of the keys in a mini popup keyboard + // for key detection by sliding finger. Need to take care of left, right, and + // upper of "edge" keys. + y - mMiniKeyboardOriginY - (int)mMiniKeyboardSlideAllowance, + 0); } private PointerTracker getPointerTracker(final int id) { |