Android:layoutParams.setMargins()更改视图的大小

时间:2016-05-16 02:25:42

标签: android

我有一个按钮,我想改变它的边缘。 这是我的代码:

 RelativeLayout.LayoutParams buttonParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
                 buttonParams.setMargins(r.getWidth() / 3 * 2, r.getHeight() * 5 / 7, 0, 0);
                 b.setWidth(r.getWidth() / 4);
                 b.setHeight(r.getWidth() / 8);
                 b.setLayoutParams(buttonParams);

当我更改setMargins中的值时,b的大小会发生变化。为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我认为是因为你有

   b.setWidth(r.getWidth() / 4); 
   b.setHeight(r.getWidth() / 8); 

在设置布局参数之前

将设置宽度和高度移至 b 以不更改其尺寸。

干杯,