有谁知道是否可以在Android中向TableLayout添加列?我需要在表格中显示相对大量的数据。显然,这不应该在一列中显示。
您可以通过创建TableRow() - Object来添加行。此外还有一些xml参数,但我不知道如何通过Java代码访问它。
TextView val = new TextView(this);
val.setText(args.get(i));
table.addView(val);
table.addView(tr,new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
我无法在TableRow.LayoutParams中找到适合我的匹配值。但可能我试图以错误的方式使用它。
table.addView(val,new TableRow.LayoutParams(
LayoutParams. ?? ));
答案 0 :(得分:1)
当您向平板电脑行添加新视图时,每个视图都会成为一个新的“列”。
所以,如果你做这样的事情(假设你的行数据在List rowData中,你的列数据在rowData中的List中。
for (RowData rd : rowData)
{
TableRow row = new TableRow(this);
for (DataPoint dp : rd.getDataPoints())
{
TextView tv = new TextView(this);
tv.setText(dp.getText());
/* any other styling stuff here */
row.addView(tv);
}
table.addView(row);
}
这将产生一个包含多个列的表,所有这些都在一个表中。
对于布局参数,您可以使用:
new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);
这意味着0宽度,在高度上包裹内容,然后是宽度的相对“重量”。 Android会很好地布置你的列。