diff options
author | 2011-08-29 08:13:29 -0700 | |
---|---|---|
committer | 2011-08-29 08:13:29 -0700 | |
commit | 3b71e5fae6b8e357cf8b00cda0b5292c72b2500f (patch) | |
tree | afc07a8fb42b1bb5272dec019e9a61cf38bff40e /java | |
parent | 2315bfc7c8df0f6d9fb627456f2a298f5580b52d (diff) | |
parent | 83da6c18fb2314dd45d3244a23ba59a5e0e21cd6 (diff) | |
download | latinime-3b71e5fae6b8e357cf8b00cda0b5292c72b2500f.tar.gz latinime-3b71e5fae6b8e357cf8b00cda0b5292c72b2500f.tar.xz latinime-3b71e5fae6b8e357cf8b00cda0b5292c72b2500f.zip |
Merge "Add keyLetterSize and keyLabelSize as KeyboardView attribute"
Diffstat (limited to 'java')
-rw-r--r-- | java/res/values/attrs.xml | 7 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 23 |
2 files changed, 25 insertions, 5 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 4cabe93a8..8362226d6 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -38,11 +38,16 @@ checkable+checked+pressed. --> <attr name="keyBackground" format="reference" /> + <!-- Size of the text for one letter keys. If not defined, keyLetterRatio takes effect. --> + <attr name="keyLetterSize" format="float" /> + <!-- Size of the text for keys with multiple letters. If not defined, keyLabelRatio takes + effect. --> + <attr name="keyLabelSize" format="float" /> <!-- Size of the text for one letter keys, in the proportion of key height. --> <attr name="keyLetterRatio" format="float" /> <!-- Large size of the text for one letter keys, in the proportion of key height. --> <attr name="keyLargeLetterRatio" format="float" /> - <!-- Size of the text for keys with some text, in the proportion of key height. --> + <!-- Size of the text for keys with multiple letters, in the proportion of key height. --> <attr name="keyLabelRatio" format="float" /> <!-- Size of the text for hint letter (= one character hint label), in the proportion of key height. --> diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index dfc893db1..d6d0f5c37 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -211,6 +211,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { private final float mKeyHintLetterRatio; private final float mKeyUppercaseLetterRatio; private final float mKeyHintLabelRatio; + private static final float UNDEFINED_RATIO = -1.0f; public final Rect mPadding = new Rect(); public int mKeyLetterSize; @@ -222,9 +223,21 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public KeyDrawParams(TypedArray a) { mKeyBackground = a.getDrawable(R.styleable.KeyboardView_keyBackground); - mKeyLetterRatio = getRatio(a, R.styleable.KeyboardView_keyLetterRatio); + if (a.hasValue(R.styleable.KeyboardView_keyLabelSize)) { + mKeyLetterRatio = UNDEFINED_RATIO; + mKeyLetterSize = a.getDimensionPixelSize( + R.styleable.KeyboardView_keyLetterRatio, 0); + } else { + mKeyLetterRatio = getRatio(a, R.styleable.KeyboardView_keyLetterRatio); + } mKeyLargeLetterRatio = getRatio(a, R.styleable.KeyboardView_keyLargeLetterRatio); - mKeyLabelRatio = getRatio(a, R.styleable.KeyboardView_keyLabelRatio); + if (a.hasValue(R.styleable.KeyboardView_keyLabelSize)) { + mKeyLabelRatio = UNDEFINED_RATIO; + mKeyLabelSize = a.getDimensionPixelSize( + R.styleable.KeyboardView_keyLabelRatio, 0); + } else { + mKeyLabelRatio = getRatio(a, R.styleable.KeyboardView_keyLabelRatio); + } mKeyHintLetterRatio = getRatio(a, R.styleable.KeyboardView_keyHintLetterRatio); mKeyUppercaseLetterRatio = getRatio(a, R.styleable.KeyboardView_keyUppercaseLetterRatio); @@ -253,9 +266,11 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } public void updateKeyHeight(int keyHeight) { - mKeyLetterSize = (int)(keyHeight * mKeyLetterRatio); + if (mKeyLetterRatio >= 0.0f) + mKeyLetterSize = (int)(keyHeight * mKeyLetterRatio); mKeyLargeLetterSize = (int)(keyHeight * mKeyLargeLetterRatio); - mKeyLabelSize = (int)(keyHeight * mKeyLabelRatio); + if (mKeyLabelRatio >= 0.0f) + mKeyLabelSize = (int)(keyHeight * mKeyLabelRatio); mKeyHintLetterSize = (int)(keyHeight * mKeyHintLetterRatio); mKeyUppercaseLetterSize = (int)(keyHeight * mKeyUppercaseLetterRatio); mKeyHintLabelSize = (int)(keyHeight * mKeyHintLabelRatio); |