#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, и добавить взвешенные элементы управления к этому макету. Единственная проблема заключается в том, что если вы не вставите одинаковое количество элементов управления (столбцов) для каждой строки, то они не будут выстраиваться в линию.