diff options
author | 2014-12-05 07:33:19 +0000 | |
---|---|---|
committer | 2014-12-05 07:33:19 +0000 | |
commit | a25169bc3701d3f2ddec128f8234197392568d8e (patch) | |
tree | b34ddd6909a5708aa6a29be6b6bd63d935d27f80 /java/src/com/android/inputmethod/latin/utils/ResourceUtils.java | |
parent | 433248ecf1146f3eff7aa2f84137f2b436e40b6d (diff) | |
parent | 8584db1461d286f8eb966c40eb0bc76e8c9df76a (diff) | |
download | latinime-a25169bc3701d3f2ddec128f8234197392568d8e.tar.gz latinime-a25169bc3701d3f2ddec128f8234197392568d8e.tar.xz latinime-a25169bc3701d3f2ddec128f8234197392568d8e.zip |
am 8584db14: Add keyboard margin options to place the keyboard dynamically.
* commit '8584db1461d286f8eb966c40eb0bc76e8c9df76a':
Add keyboard margin options to place the keyboard dynamically.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/ResourceUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/ResourceUtils.java | 55 |
1 files changed, 50 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java index cc0d470df..0a757877a 100644 --- a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java @@ -182,18 +182,63 @@ public final class ResourceUtils { return matchedAll; } - public static int getDefaultKeyboardWidth(final Resources res) { + public static int getKeyboardFrameWidth(final Resources res) { final DisplayMetrics dm = res.getDisplayMetrics(); return dm.widthPixels; } + public static int getKeyboardWidth(final Resources res, final SettingsValues settingsValues) { + final int frameWidth = getKeyboardFrameWidth(res); + if (settingsValues.mHasKeyboardResize) { + final float widthFraction = 1f - settingsValues.mKeyboardLeftMarginScale + - settingsValues.mKeyboardRightMarginScale; + return (int)(frameWidth * widthFraction); + } + return frameWidth; + } + + public static int getKeyboardFrameHeight(final Resources res, + final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + return getKeyboardHeight(res, settingsValues) + + getKeyboardBottomMargin(res, settingsValues); + } + return getDefaultKeyboardHeight(res); + } + public static int getKeyboardHeight(final Resources res, final SettingsValues settingsValues) { - final int defaultKeyboardHeight = getDefaultKeyboardHeight(res); + final int keyboardHeight = getDefaultKeyboardHeight(res); + if (settingsValues.mHasKeyboardResize) { + return (int)(keyboardHeight * settingsValues.mKeyboardHeightScale); + } + return keyboardHeight; + } + + public static int getKeyboardLeftMargin( + final Resources res, final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + final int frameWidth = getKeyboardFrameWidth(res); + return (int)(frameWidth * settingsValues.mKeyboardLeftMarginScale); + } + return 0; + } + + public static int getKeyboardRightMargin( + final Resources res, final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + final int frameWidth = getKeyboardFrameWidth(res); + return (int)(frameWidth * settingsValues.mKeyboardRightMarginScale); + } + return 0; + } + + public static int getKeyboardBottomMargin( + final Resources res, final SettingsValues settingsValues) { if (settingsValues.mHasKeyboardResize) { - // mKeyboardHeightScale Ranges from [.5,1.2], from xml/prefs_screen_debug.xml - return (int)(defaultKeyboardHeight * settingsValues.mKeyboardHeightScale); + final int defaultHeight = getDefaultKeyboardHeight(res); + return (int)(defaultHeight * settingsValues.mKeyboardBottomMarginScale); } - return defaultKeyboardHeight; + return 0; } public static int getDefaultKeyboardHeight(final Resources res) { |