I have a linear layout that is contained inside a relative layout.
It is set in the XML file to be to the right of another linear layout (this works fine).
In some cases I want to change the relative position of the layout during the onCreate of the activity so I need to modify the "to the right of" param to relate to another layout.
I tryed this:
layoutParams = (RelativeLayout.LayoutParams) linearLayoutToMove
You can't remove a rule because all rules are always stored in a fixed-size java array. But you can set a rule to
0. For example
layoutParams.addRule(RelativeLayout.RIGHT_OF, 0); layoutParams.addRule(RelativeLayout.BELOW, R.id.new_ref_LinearLayout);
EDIT (thanks to Roger Rapid):
As of API level 17, the class
RelativeLayout.LayoutParams has the following method:
public void removeRule(int verb)
So you can remove a rule using the following line of code:
And you will get exactly the same result as when 'adding' a zero-rule as: