在LinearLayout中动态添加的checkbox之间的间距太大,不太合适。我在网上找了好久都没找到合适的解决办法。最后参考了一下博客园 、小光的一篇博文,才找到合适的解决办法。
其实在xml中设置间距,只要设置margin属性即可。但是在程序中设置会麻烦很多,但还是可以设置的。动态设置 android:layout_marginTop。
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layoutParam.setMargins(10, 20, 10, 0);把这个 layoutParam 给控件应该就可以了
代码部分如下:
<span style="font-size:18px;">//布局属性
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></span>
<span style="font-size:18px;">//设置的外边距 。注意方法参数的定义是左 上 右 下
</span>
<span style="font-size:18px;">layoutParam.setMargins(0, -20, 0, 0);</span>
<span style="font-size:18px;">
for (int i = 0; i < strs.length; i++) {
a = strs[i];
CheckBox newCB = new CheckBox(this);
newCB.setText(a);
if(i == 0){
layoutParam.setMargins(0, -10, 0, 0);
}
//给checkbox设置布局属性
newCB.setLayoutParams(layoutParam);
xuanxiangList.add(newCB);//放入一个列表中
kaoshiti.addView(newCB);//加入视图中</span>