diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index e964889c48276c6794f62c6ce510568393ff5993..3d6428d5780b0bb6f7b43dd99f135d22509fb1eb 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -63,6 +63,8 @@
         <attr name="keyLabelHorizontalPadding" format="dimension" />
         <!-- Top and right padding of hint letter to the edge of the key.-->
         <attr name="keyHintLetterPadding" format="dimension" />
+        <!-- Bottom padding of popup hint letter "..." to the edge of the key.-->
+        <attr name="keyPopupHintLetterPadding" format="dimension" />
         <!-- Top and right padding of upper case letter to the edge of the key.-->
         <attr name="keyUppercaseLetterPadding" format="dimension" />
 
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 50eca4bdb22daac529e3242a9743f24ecf6dccbf..4e4993b24b639b062b947831c67f44fa40c8313c 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -71,6 +71,7 @@
 
     <dimen name="key_label_horizontal_padding">4dip</dimen>
     <dimen name="key_hint_letter_padding">1dp</dimen>
+    <dimen name="key_popup_hint_letter_padding">2dp</dimen>
     <dimen name="key_uppercase_letter_padding">2dp</dimen>
 
     <dimen name="key_preview_height_ics">80sp</dimen>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 0e8216b480e917ffb438009d1dd49cf9c1a71651..9fa4d842ed932d7b96f30d1e893bccf0094ed69c 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -52,6 +52,7 @@
         <item name="keyUppercaseLetterActivatedColor">#CCE0E4E5</item>
         <item name="keyLabelHorizontalPadding">@dimen/key_label_horizontal_padding</item>
         <item name="keyHintLetterPadding">@dimen/key_hint_letter_padding</item>
+        <item name="keyPopupHintLetterPadding">@dimen/key_popup_hint_letter_padding</item>
         <item name="keyUppercaseLetterPadding">@dimen/key_uppercase_letter_padding</item>
         <item name="keyPreviewLayout">@layout/key_preview</item>
         <item name="keyPreviewBackground">@drawable/keyboard_key_feedback</item>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 1e7c32638fdae35f3dbe420e6fad525f32b45484..f45fd304660d9f1d7450393b1d77f731d4989fb9 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -58,6 +58,7 @@ import java.util.HashMap;
  * @attr ref R.styleable#KeyboardView_keyHintLabelRatio
  * @attr ref R.styleable#KeyboardView_keyLabelHorizontalPadding
  * @attr ref R.styleable#KeyboardView_keyHintLetterPadding
+ * @attr ref R.styleable#KeyboardView_keyPopupHintLetterPadding
  * @attr ref R.styleable#KeyboardView_keyUppercaseLetterPadding
  * @attr ref R.styleable#KeyboardView_keyTextStyle
  * @attr ref R.styleable#KeyboardView_keyPreviewLayout
@@ -198,6 +199,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
         public final Typeface mKeyTextStyle;
         public final float mKeyLabelHorizontalPadding;
         public final float mKeyHintLetterPadding;
+        public final float mKeyPopupHintLetterPadding;
         public final float mKeyUppercaseLetterPadding;
         public final int mShadowColor;
         public final float mShadowRadius;
@@ -246,6 +248,8 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
                     R.styleable.KeyboardView_keyLabelHorizontalPadding, 0);
             mKeyHintLetterPadding = a.getDimension(
                     R.styleable.KeyboardView_keyHintLetterPadding, 0);
+            mKeyPopupHintLetterPadding = a.getDimension(
+                    R.styleable.KeyboardView_keyPopupHintLetterPadding, 0);
             mKeyUppercaseLetterPadding = a.getDimension(
                     R.styleable.KeyboardView_keyUppercaseLetterPadding, 0);
             mKeyTextColor = a.getColor(R.styleable.KeyboardView_keyTextColor, 0xFF000000);
@@ -698,7 +702,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
             paint.setTextAlign(Align.CENTER);
             final float hintX = keyWidth - params.mKeyHintLetterPadding
                     - getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2;
-            final float hintY = keyHeight - params.mKeyHintLetterPadding;
+            final float hintY = keyHeight - params.mKeyPopupHintLetterPadding;
             canvas.drawText(POPUP_HINT_CHAR, hintX, hintY, paint);
 
             if (debugShowAlign) {