我的活动中有以下内容成功显示3列数据(最多10行,因此for循环):
for (int i=0;i<10;i++)
{
TableRow tr = new TableRow(this);
TextView tv0 = new TextView(this);
TextView tv1 = new TextView(this);
TextView tv2 = new TextView(this);
TableRow.LayoutParams trlp = new TableRow.LayoutParams();
trlp.span = 3;
trlp.weight = 1;
tr.setLayoutParams(trlp);
tv0.setText("" + debtName[i]);
tv1.setText("" + debtAmount[i]);
tv2.setText("" + debtPayment[i]);
tr.addView(tv0);
tr.addView(tv1);
tr.addView(tv2);
tl.addView(tr);
}
我希望它们被均匀加权,因为有一个标题行被硬编码到布局中。 “trlp.weight = 1;”并没有从它不存在时改变它。
我正在寻找的是一种让tv0,tv1,tv2 TextViews均匀(水平)分布的方法。
另外作为参考,我正在使用API 12。
答案 0 :(得分:3)
你必须将重量设置到应该缩放的孩子身上。
1表示默认情况下100%缩放,如果您希望3个textvies均匀分布设置0.33作为每个的重量。
TableRow.layoutParams trlp = new LayoutParams(0, LayoutParams.MATCH_PARENT, 0.33f);
tv0.setLayoutParams(trlp);
...
tr.add(tv0);
...