diff options
author | 2014-12-02 13:01:11 +0900 | |
---|---|---|
committer | 2014-12-05 16:21:20 +0900 | |
commit | 8584db1461d286f8eb966c40eb0bc76e8c9df76a (patch) | |
tree | 702f83d695aa9d3e4e4ee319d66ad8453c08b022 /java/src/com/android/inputmethod/latin/utils/ResourceUtils.java | |
parent | d21db3cf617ce3f3d05bfb7d555338994d3c8c3c (diff) | |
download | latinime-8584db1461d286f8eb966c40eb0bc76e8c9df76a.tar.gz latinime-8584db1461d286f8eb966c40eb0bc76e8c9df76a.tar.xz latinime-8584db1461d286f8eb966c40eb0bc76e8c9df76a.zip |
Add keyboard margin options to place the keyboard dynamically.
Keyboard location and location can now be set in the debug options
section.
Change-Id: I87c5a1d679489e12dccf26632c399af28087629e
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) { |