aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java15
-rw-r--r--java/src/com/android/inputmethod/keyboard/MiniKeyboard.java16
2 files changed, 12 insertions, 19 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index bc021a690..dfc893db1 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -681,15 +681,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
}
}
- // This method is currently being used only by MiniKeyboardBuilder
- public int getDefaultLabelSizeAndSetPaint(Paint paint) {
- // For characters, use large font. For labels like "Done", use small font.
- final int labelSize = mKeyDrawParams.mKeyLabelSize;
- paint.setTextSize(labelSize);
- paint.setTypeface(mKeyDrawParams.mKeyTextStyle);
- return labelSize;
- }
-
private static final Rect sTextBounds = new Rect();
private static float getCharHeight(Paint paint) {
@@ -733,6 +724,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
return sTextBounds.width();
}
+ public float getDefaultLabelWidth(CharSequence label, Paint paint) {
+ paint.setTextSize(mKeyDrawParams.mKeyLabelSize);
+ paint.setTypeface(mKeyDrawParams.mKeyTextStyle);
+ return getLabelWidth(label, paint);
+ }
+
private static void drawIcon(Canvas canvas, Drawable icon, int x, int y, int width,
int height) {
canvas.translate(x, y);
diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
index 17c253963..8f4791630 100644
--- a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
@@ -236,8 +236,7 @@ public class MiniKeyboard extends Keyboard {
private static int getMaxKeyWidth(KeyboardView view, CharSequence[] popupCharacters,
int minKeyWidth) {
Paint paint = null;
- Rect bounds = null;
- int maxWidth = 0;
+ int maxWidth = minKeyWidth;
for (CharSequence popupSpec : popupCharacters) {
final CharSequence label = PopupCharactersParser.getLabel(popupSpec.toString());
// If the label is single letter, minKeyWidth is enough to hold
@@ -247,18 +246,15 @@ public class MiniKeyboard extends Keyboard {
paint = new Paint();
paint.setAntiAlias(true);
}
- final int labelSize = view.getDefaultLabelSizeAndSetPaint(paint);
- paint.setTextSize(labelSize);
- if (bounds == null)
- bounds = new Rect();
- paint.getTextBounds(label.toString(), 0, label.length(), bounds);
- if (maxWidth < bounds.width())
- maxWidth = bounds.width();
+ final int width = (int)view.getDefaultLabelWidth(label, paint);
+ if (maxWidth < width) {
+ maxWidth = width;
+ }
}
}
final int horizontalPadding = (int) view.getContext().getResources()
.getDimension(R.dimen.mini_keyboard_key_horizontal_padding);
- return Math.max(minKeyWidth, maxWidth + horizontalPadding);
+ return maxWidth + horizontalPadding;
}
@Override