summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-10-26 21:28:31 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2015-10-26 21:29:32 +0000
commite0d0e4a9a28dfede54c4c0ec4c42be05bc955d95 (patch)
tree2cc96e7943a2ad6d0a93bafc60504bbf6e3c8c3b /src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
parent00f35b4ae7f94e0fe1c8c77efec401ab5f3c4855 (diff)
parent6bc1ce9c164d0230508eafbe6c18144c8b1a6a74 (diff)
Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtLayout.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtLayout.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
index b11396aeaf..5181cc7e11 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java
@@ -216,4 +216,34 @@ public class QtLayout extends ViewGroup
invalidate();
attachViewToParent(view, index, view.getLayoutParams());
}
+
+ /**
+ * set the layout params on a child view.
+ *
+ * Note: This function adds the child view if it's not in the
+ * layout already.
+ */
+ public void setLayoutParams(final View childView,
+ final ViewGroup.LayoutParams params,
+ final boolean forceRedraw)
+ {
+ // Invalid view
+ if (childView == null)
+ return;
+
+ // Invalid params
+ if (!checkLayoutParams(params))
+ return;
+
+ // View is already in the layout and can therefore be updated
+ final boolean canUpdate = (this == childView.getParent());
+
+ if (canUpdate) {
+ childView.setLayoutParams(params);
+ if (forceRedraw)
+ invalidate();
+ } else {
+ addView(childView, params);
+ }
+ }
}