Как установить размер столбца таблицы в 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
          },
Другие вопросы по тегам