diff options
| author | Tadashi G. Takaoka <takaoka@google.com> | 2011-05-12 14:49:18 +0900 |
|---|---|---|
| committer | Tadashi G. Takaoka <takaoka@google.com> | 2011-05-12 18:19:12 +0900 |
| commit | ff483e8d0c30864a469481f20a26ffb54a75d458 (patch) | |
| tree | 10aee5dbd7512256c09a80ed5085a9cd20da8622 /java/src/com/android/inputmethod/keyboard/KeyboardParser.java | |
| parent | 0ee6daa63ada83b4bd5efcd055a0eba03c707b65 (diff) | |
Add minKeyboardHeight attribute to Keyboard layout
Bug: 4411676
Change-Id: I1f56ba58bacb90790f82326718bf9de95dba5d28
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/KeyboardParser.java')
| -rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardParser.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 69ae7886a..31fd0bfa3 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -196,9 +196,20 @@ public class KeyboardParser { final int keyboardHeight = (int)keyboardAttr.getDimension( R.styleable.Keyboard_keyboardHeight, displayHeight / 2); final int maxKeyboardHeight = getDimensionOrFraction(keyboardAttr, - R.styleable.Keyboard_maxKeyboardHeight, displayHeight, displayHeight / 2); - // Keyboard height will not exceed maxKeyboardHeight. - final int height = Math.min(keyboardHeight, maxKeyboardHeight); + R.styleable.Keyboard_maxKeyboardHeight, displayHeight, displayHeight / 2); + int minKeyboardHeight = getDimensionOrFraction(keyboardAttr, + R.styleable.Keyboard_minKeyboardHeight, displayHeight, displayHeight / 2); + if (minKeyboardHeight < 0) { + // Specified fraction was negative, so it should be calculated against display + // width. + final int displayWidth = keyboard.getDisplayWidth(); + minKeyboardHeight = -getDimensionOrFraction(keyboardAttr, + R.styleable.Keyboard_minKeyboardHeight, displayWidth, displayWidth / 2); + } + // Keyboard height will not exceed maxKeyboardHeight and will not be less than + // minKeyboardHeight. + final int height = Math.max( + Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight); final int width = keyboard.getDisplayWidth(); keyboard.setKeyboardHeight(height); |
