17

我不知道如何在 Flutter 中设置表列大小。如果我使用Row,Expanded可以使用,但TableRow不允许使用。

请告诉我一些如何设置表格列大小的建议。对我来说最好的解决方案是调整列中文本长度的大小。

4

3 回答 3

46

方法一

如果要为每列设置相同的宽度,可以使用defaultColumnWidthinside ,Table

Table(
    defaultColumnWidth: FixedColumnWidth(200.0),
...

输出

在此处输入图像描述


方法二

您可以为每列使用不同的宽度。

Table(
columnWidths: {
                0: FlexColumnWidth(1),
                1: FlexColumnWidth(4),
                2: FlexColumnWidth(4),
              },     
...

输出

在此处输入图像描述

于 2020-01-03T05:49:47.340 回答
10

对于您的具体情况,您可以使用

Table(
  defaultColumnWidth: IntrinsicColumnWidth(),
  ...
);

,因为您希望列宽适应文本长度。IntrinsicColumnWidth根据每个单元格中内容的宽度调整列的大小,即列宽根据单元格中内容的长度增加或缩小。

于 2020-11-09T17:21:29.427 回答
8

您还可以固定两列宽度。

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
          },
于 2020-08-23T14:56:06.590 回答