コードで 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);
}