From a4c1030870d8c91b6d871922c3e6962323700f25 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Thu, 26 Jul 2012 12:27:56 -0700 Subject: [PATCH] Add removeRule() to RelativeLayout LayoutParams - add this helper API as there are already several example of developers doing it "by hand" Change-Id: Icd15edfd75eb47de1f90f847b263b4d513c13810 --- api/current.txt | 1 + core/java/android/widget/RelativeLayout.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/api/current.txt b/api/current.txt index c910bd02cf40f..b1b0ae6b380d6 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28452,6 +28452,7 @@ package android.widget { method public void addRule(int, int); method public java.lang.String debug(java.lang.String); method public int[] getRules(); + method public void removeRule(int); field public boolean alignWithParent; } diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java index a811cc2eb14b4..43519dfaa51b0 100644 --- a/core/java/android/widget/RelativeLayout.java +++ b/core/java/android/widget/RelativeLayout.java @@ -1306,6 +1306,21 @@ public class RelativeLayout extends ViewGroup { mRulesChanged = true; } + /** + * Removes a layout rule to be interpreted by the RelativeLayout. + * + * @param verb One of the verbs defined by + * {@link android.widget.RelativeLayout RelativeLayout}, such as + * ALIGN_WITH_PARENT_LEFT. + * @see #addRule(int) + * @see #addRule(int, int) + */ + public void removeRule(int verb) { + mRules[verb] = 0; + mInitialRules[verb] = 0; + mRulesChanged = true; + } + private boolean hasRelativeRules() { return (mInitialRules[START_OF] != 0 || mInitialRules[END_OF] != 0 || mInitialRules[ALIGN_START] != 0 || mInitialRules[ALIGN_END] != 0 ||