2

我正在尝试在代码中创建一个 TableLayout。表中的每一行都应该有等间距的列。每个单元格的内容都是一样的,只是一个方形按钮(我正在尝试创建一个日历)。

如何让每列占据相等的宽度,然后占据整个表格的宽度?现在,列的宽度都相同,因为它们都具有相同的内容,但列并没有扩展以填充表格的整个宽度。

以下是我尝试过的。我正在扩展 TableLayout 类,这就是我在代码中使用“this”的原因。注释掉的行是我尝试过的没有效果的东西:

this.setStretchAllColumns(true);

TableRow row;
CalendarButton button;
for(int i = 0; i < 6; ++i)
{
    row = createRow();
    TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    //params.span = 7;
    row.setLayoutParams(params);
    //row.setWeightSum(7);

    for(int j = 0; j < 7; ++j)
    {
        button = createCalendarButton();

        TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        params.span = 1;
        row.addView(button, params);
    }

    this.addView(row);
}
4

0 回答 0