依靠代码改变布局中控件的位置

案例:在RelativeLayout中的某一行布局中有两个控件A、B,他们都含有android:layout_alignParentEnd="true"的属性。当B隐藏时,只显示A,这是没有任何问题的。但是当B显示时,A、B会叠加在一起,此刻如何利用代码动态的根据B的显隐状态来调控A的位置呢?


依靠代码改变布局中控件的位置_第1张图片


依靠代码改变布局中控件的位置_第2张图片


此时可用setPadding()来解决问题。

我们这里假设B的宽度为40pixels。

A a=new A();

a.setPadding(a.getPaddingLeft(),a.getPaddingTop(),a.getPaddingRight() + 40,a.getPaddingBottom());

则改动后就达到了理想的效果:

依靠代码改变布局中控件的位置_第3张图片

Bingo~

你可能感兴趣的:(Android)