如何使标签在Flutter DataColumn小部件中居中?

u59ebvdq  于 2023-03-04  发布在  Flutter
关注(0)|答案(5)|浏览(202)

我可以使DataCell在DataRow中居中,但是如何使DataColumn标签居中呢?
我希望第一个DataColumn左对齐,其余的居中。在“居中”小部件中环绕标签不起作用。

new DataColumn(
            label: Center(
              child: Text(statName,textAlign: TextAlign.center,
                style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),),
            )
        );

rqqzpn5f

rqqzpn5f1#

发现方法:

DataColumn(
    label: Expanded(
        child: Text(
  'Label',
  textAlign: TextAlign.center,
))),
shyt4zoc

shyt4zoc2#

您可能希望将Label的内容 Package 在Center小部件中,还有一个Align小部件,它使用alignment: Alignment.center和您的Text作为其子部件。

68de4m5k

68de4m5k3#

这是我解决这个问题的方法:

DataColumn(
            label: Center(
            widthFactor: 5.0, // You can set as per your requirement.
            child: Text(
            'View',
            style: style_16_bold_primary,
            ),
          ),
      ),
nfzehxib

nfzehxib4#

对于这个问题我也接受Rodrigo Boratto的答案。在flutter v3.7.3上测试
我来这里是为了得到“如何将数据单元格居中”的答案。我把我的发现放在这里给任何感兴趣的人。

DataCell(
  Align(
    alignment: Alignment.center,
    child: Text(
        match['score'],
        textAlign: TextAlign.center,
    ),
  ),
),
gzszwxb4

gzszwxb45#

我遇到了同样的问题,通过注解data_table.dart文件中的以下代码部分解决了这个问题。

if (onSort != null) {
  final Widget arrow = _SortArrow(
    visible: sorted,
    down: sorted ? ascending : null,
    duration: _sortArrowAnimationDuration,
  );
  const Widget arrowPadding = SizedBox(width: _sortArrowPadding);
  label = Row(
    textDirection: numeric ? TextDirection.rtl : null,
    children: <Widget>[ label, arrowPadding, arrow ],
  );
}

相关问题