因为程序需要,我必须在代码里,动态设置控制的高度或宽度。我想当然的用setHeight(100)和setWidth(100)设置了高度以及宽度,按照往常的想法以为这样就可以了,但偏偏没有生效,而且尝试了很久利用这个办法来改变其高度和宽度属性,始终没有起作用。
View view = new View(this);
layout.addView(view); //layout为我的布局
view.getLayoutParams().width = 50; //这样设置
view.getLayoutParams().height = 50;
注意要先将组件view添加到我的布局里面,不然会报空指针错误,因为按照下面这中设置方式的话view只是被创建出来,还没有被添加到layout之中所以暂时获取不到LayoutParams。
View view = new View(this);
view.getLayoutParams().width = 50; //这样设置
view.getLayoutParams().height = 50;
layout.addView(view); //layout为我的布局
//这种情况会报空指针error
view.getLayoutParams()是最简单的方式,你也可以
layout.addView(view);
LinearLayout.LayoutParams viewLayoutParams = (LayoutParams) view.getLayoutParams();
//其中LinearLayout为你的布局,如果你用的是相对布局即将它改为RelativeLayout即可
viewLayoutParams.setMargins( 10, 10, 10, 10);
view.setLayoutParams(viewLayoutParams);
//这种方式也可以,但没有上面那种简单
|