Если коротко - для каждой колонки (т. е. для содержимого TableRow) нужно задать
layout_width="0dp"
layout_weight="1"
Вот пример кода
// Важно импортировать именно этот класс LayoutParams - иначе
// строки просто не покажутся
import android.widget.TableRow.LayoutParams;
import static android.view.ViewGroup.LayoutParams.FILL_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
@ViewById(R.id.datatable)
TableLayout datatable;
... ... ...
for (ParamValue param : params) {
TableRow row = new TableRow(this);
row.setLayoutParams(new LayoutParams(FILL_PARENT, WRAP_CONTENT));
TextView paramName = new TextView(this);
paramName.setText(param.parameter);
paramName.setLayoutParams(new LayoutParams(0, WRAP_CONTENT, 1));
TextView paramValue = new TextView(this);
paramValue.setText(param.value);
paramValue.setLayoutParams(new LayoutParams(0, WRAP_CONTENT, 1));
row.addView(paramName);
row.addView(paramValue);
datatable.addView(row, new LayoutParams(FILL_PARENT, WRAP_CONTENT));
}
layout_width="0dp"
layout_weight="1"
Вот пример кода
// Важно импортировать именно этот класс LayoutParams - иначе
// строки просто не покажутся
import android.widget.TableRow.LayoutParams;
import static android.view.ViewGroup.LayoutParams.FILL_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
@ViewById(R.id.datatable)
TableLayout datatable;
... ... ...
for (ParamValue param : params) {
TableRow row = new TableRow(this);
row.setLayoutParams(new LayoutParams(FILL_PARENT, WRAP_CONTENT));
TextView paramName = new TextView(this);
paramName.setText(param.parameter);
paramName.setLayoutParams(new LayoutParams(0, WRAP_CONTENT, 1));
TextView paramValue = new TextView(this);
paramValue.setText(param.value);
paramValue.setLayoutParams(new LayoutParams(0, WRAP_CONTENT, 1));
row.addView(paramName);
row.addView(paramValue);
datatable.addView(row, new LayoutParams(FILL_PARENT, WRAP_CONTENT));
}
Комментариев нет:
Отправить комментарий