Я динамически создаю строки таблицы и добавляю два текстовых элемента в новые строки. Выполнение этого отлично работает, но теперь я пытаюсь отформатировать LayoutParams, чтобы у двух TextViews был layout_weight по 1 каждый. Я попытался добавить некоторые LayoutParams, но похоже, что они игнорируются. Вот мой код для создания строк, и я прокомментировал бит LayoutParams, и нет никаких изменений при запуске приложения, которое говорит мне, что LayoutParams игнорируются. мне нужна помощь назначая layout_weight два TextViews, так что в моей рядном создании коды я могу достичь этого:в Android layout_weight для строк таблицы в динамической таблице
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1" />
Так вот мой код для создания строки:
TableLayout tl = (TableLayout) findViewById(R.id.pres_table);
for (int ctr = 0; ctr < pres_res.size(); ctr++)
{
final String pst_str = pres_res.get(ctr);
final String yrs_str = yrs_res.get(ctr);
TableRow tr = new TableRow(this);
/*
TableRow.LayoutParams trPara = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT);
int leftMargin = 10;
int topMargin = 2;
int rightMargin = 10;
int bottomMargin = 2;
trPara.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);
tr.setLayoutParams(trPara);
*/
TextView tv1 = new TextView(this);
tv1.setText(pst_str);
tv1.setTextColor(Color.BLACK);
tv1.setTextSize(18);
TextView tv2 = new TextView(this);
tv2.setText(yrs_str);
tv2.setTextColor(Color.BLACK);
tv2.setTextSize(18);
tr.addView(tv1);
tr.addView(tv2);
tl.addView(tr, new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}
и XML для создания таблицы является базовым следующим образом:
<TableLayout
android:id="@+id/pres_table"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF" >
</TableLayout>
Спасибо!
Я вижу ваши прокомментированные строки 'LayoutParams', но я не вижу« вес »в любом месте. В любом случае вы хотите установить вес в TextViews, а не в TableRows. – Geobits