aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-08-27 10:36:05 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-08-27 10:36:05 +0000
commit68a2a69ae35352650a4c6dfc0b0c69069c4a1e1d (patch)
treea3132b2f7457b4b9d00db86d82fcd159443279eb /java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
parentc925ca43a6e0b3175feb002ce6b5577ef7d66507 (diff)
parent37beaf1529a61228d6240736937789e5622b29ed (diff)
downloadlatinime-68a2a69ae35352650a4c6dfc0b0c69069c4a1e1d.tar.gz
latinime-68a2a69ae35352650a4c6dfc0b0c69069c4a1e1d.tar.xz
latinime-68a2a69ae35352650a4c6dfc0b0c69069c4a1e1d.zip
am 37beaf15: Simplify onComputeInsets of LatinIME
* commit '37beaf1529a61228d6240736937789e5622b29ed': Simplify onComputeInsets of LatinIME
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java b/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
index f9d853493..dd122b634 100644
--- a/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
@@ -19,7 +19,10 @@ package com.android.inputmethod.latin.utils;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
+import android.view.Window;
+import android.view.WindowManager;
import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.RelativeLayout;
public final class ViewLayoutUtils {
@@ -51,4 +54,40 @@ public final class ViewLayoutUtils {
marginLayoutParams.setMargins(x, y, 0, 0);
}
}
+
+ public static void updateLayoutHeightOf(final Window window, final int layoutHeight) {
+ final WindowManager.LayoutParams params = window.getAttributes();
+ if (params.height != layoutHeight) {
+ params.height = layoutHeight;
+ window.setAttributes(params);
+ }
+ }
+
+ public static void updateLayoutHeightOf(final View view, final int layoutHeight) {
+ final ViewGroup.LayoutParams params = view.getLayoutParams();
+ if (params.height != layoutHeight) {
+ params.height = layoutHeight;
+ view.setLayoutParams(params);
+ }
+ }
+
+ public static void updateLayoutGravityOf(final View view, final int layoutGravity) {
+ final ViewGroup.LayoutParams lp = view.getLayoutParams();
+ if (lp instanceof LinearLayout.LayoutParams) {
+ final LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)lp;
+ if (params.gravity != layoutGravity) {
+ params.gravity = layoutGravity;
+ view.setLayoutParams(params);
+ }
+ } else if (lp instanceof FrameLayout.LayoutParams) {
+ final FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)lp;
+ if (params.gravity != layoutGravity) {
+ params.gravity = layoutGravity;
+ view.setLayoutParams(params);
+ }
+ } else {
+ throw new IllegalArgumentException("Layout parameter doesn't have gravity: "
+ + lp.getClass().getName());
+ }
+ }
}