以编程方式在View上设置负边距

时间:2013-08-29 13:29:26

标签: android android-layout android-view

我知道如何使用View和方法LinearLayout.LayoutParams以编程方式设置setMargins(int, int, int, int)的边距,但如何在视图上设置负边距?

3 个答案:

答案 0 :(得分:10)

访问父布局的布局参数并根据需要进行修改:

 ViewGroup.MarginLayoutParams params =
         (ViewGroup.MarginLayoutParams)view.getLayoutParams();
 params.topMargin = ...; // etc
 // or
 params.setMargins(...);

修改布局后,请致电view.requestLayout()

答案 1 :(得分:0)

使用数学似乎对我来说已经足够了。

 ViewGroup.MarginLayoutParams params =
     (ViewGroup.MarginLayoutParams)view.getLayoutParams();
 params.topMargin = 100 - 200;   // -100

答案 2 :(得分:0)

使用此

params.setMargins(0,5-10,0,0);

没有

params.setMargins(0,-5,0,0);