我可以将 DataCell 居中放置在 DataRow 中,但是对于 DataColumn 标签,您如何做到这一点?
我希望第一个 DataColumn 左对齐,其余居中。将标签包裹在中心小部件中不会生效。
new DataColumn(
label: Center(
child: Text(statName,textAlign: TextAlign.center,
style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),),
)
);
找到方法:
DataColumn(
label: Expanded(
child: Text(
'Label',
textAlign: TextAlign.center,
))),
您可能希望将 Label 的内容包装在
Center
小部件中。还有一个 Align 小部件,它使用 alignment: Alignment.center
和您的 Text 作为它的孩子。
这就是我解决这个问题的方法:
DataColumn(
label: Center(
widthFactor: 5.0, // You can set as per your requirement.
child: Text(
'View',
style: style_16_bold_primary,
),
),
),
对于这个问题我也接受Rodrigo Boratto的回答。在 flutter v3.7.3 上测试
我来这里是为了获得“How to center a DataCell”的答案。我把我的发现放在这里供任何感兴趣的人使用。
DataCell(
Align(
alignment: Alignment.center,
child: Text(
match['score'],
textAlign: TextAlign.center,
),
),
),
我遇到了同样的问题,并通过在 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 ],
);
}