Как установить размер столбца таблицы в TableRow для Flutter Table
Я понятия не имею, как установить размер столбца таблицы во Flutter. Если я используюRow
, Expanded
можно использовать, но TableRow
не позволяет.
Подскажите пожалуйста, как установить размер столбца таблицы. Лучшее решение для меня - настроить размер текста в столбцах.
2 ответа
Способ 1
Вы можете использовать defaultColumnWidth
внутри Table
если вы хотите установить одинаковую ширину для каждого столбца,
Table(
defaultColumnWidth: FixedColumnWidth(200.0),
...
Выход
h ttps:https://stackru.com/images/437fb2ffd9de054852cd46097cb1625bf1dbb5e2.png
Способ 2
вы можете использовать разную ширину для каждого столбца.
Table(
columnWidths: {
0: FlexColumnWidth(1),
1: FlexColumnWidth(4),
2: FlexColumnWidth(4),
},
...
Выход
h ttps:https://stackru.com/images/a3740b50ac98ae2ba981bb53f7dee8dbf1160945.png
Для вашего конкретного случая вы можете использовать
Table(
defaultColumnWidth: IntrinsicColumnWidth(),
...
, поскольку вы хотите, чтобы ширина столбца соответствовала длине текста.
IntrinsicColumnWidth
размер столбца зависит от ширины содержимого в каждой ячейке, т. е. ширина столбца увеличивается или уменьшается в зависимости от длины содержимого в ячейке.
Вы также можете установить фиксированную ширину двух столбцов.
Table(
border: TableBorder.all(color: Colors.black),
columnWidths: {
0: FixedColumnWidth(100.0),// fixed to 100 width
1: FlexColumnWidth(),
2: FixedColumnWidth(100.0),//fixed to 100 width
},