Динамически изменять размер табличного описания Android?

#android #resize #textview #tablelayout

#Android #изменить размер #textview #табличное представление

Вопрос:

У меня есть TableLayout , который я создаю динамически, который просто содержит кучу TextViews . Проблема в том, что в таблице 11 столбцов, из-за чего некоторые из TextViews обычно выходят за пределы экрана (особенно в портретном режиме).

Есть ли способ динамически регулировать размер представления в TextViews , пока все они не поместятся на экране? Можно ли как-нибудь проверить, отображается ли в данный момент на экране конкретное TextViews ? Кто-нибудь может придумать достойный способ обеспечить отображение всех столбцов?

Каков наилучший способ обработки tablelayouts с большим количеством столбцов?

Ответ №1:

Вы можете попробовать ограничить размер представления при добавлении их в TableRow .

 TableLayout tableLayout;
TableRow tableRow;
TextView textView1;
TextView textView2;
...
tableRow.addView(textView1, width, height); // width can be screen width divided by 11
tableRow.addView(textView2, width, height);
...
tableLayout.addView(tableRow);
  

Ответ №2:

Вы могли бы создать одну строку, которая является LinearLayout, и добавить взвешенные элементы управления к этому макету. Единственная проблема заключается в том, что если вы не вставите одинаковое количество элементов управления (столбцов) для каждой строки, то они не будут выстраиваться в линию.