2

コードで TableLayout を作成しようとしています。表の各行には、等間隔の列が必要です。各セルの内容は同じで、四角いボタンです (カレンダーを作成しようとしています)。

各列を同じ幅にしてから、テーブルの全幅を占めるようにするにはどうすればよいですか? 現在、列はすべて同じ内容であるため、すべて同じ幅になっていますが、列はテーブルの幅全体に拡張されていません。

以下は私が試したことです。コードで「this」を使用する理由は、TableLayout クラスを拡張することです。コメントアウトされた行は、私が試したもので、効果がありませんでした:

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