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

use*_*961 6 dart flutter flutter-layout

我可以在 DataRow 中将 DataCell 居中,但是如何为 DataColumn 标签执行此操作?

我希望第一个 DataColumn 左对齐,其余的居中。将标签包装在中心小部件中不会生效。

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

中心小部件不适用于文本子项

Dan*_*aya 7

对于这个问题我也接受Rodrigo Boratto的回答。在 flutter v3.7.3 上测试

我来这里是为了得到“如何使 DataCell 居中”的答案。我把我的发现放在这里,供感兴趣的人参考。

DataCell(
  Align(
    alignment: Alignment.center,
    child: Text(
        match['score'],
        textAlign: TextAlign.center,
    ),
  ),
),
Run Code Online (Sandbox Code Playgroud)


Rod*_*tto 6

找到方法:

DataColumn(
    label: Expanded(
        child: Text(
  'Label',
  textAlign: TextAlign.center,
))),
Run Code Online (Sandbox Code Playgroud)

  • 使用此后,我收到此错误``ParentDataWidget 的错误使用。ParentDataWidget Expanded(flex: 1) 想要将 FlexParentData 类型的 ParentData 应用到 RenderObject,该 RenderObject 已设置为接受不兼容类型 BoxParentData 的 ParentData。通常,这意味着 Expanded 小部件具有错误的祖先 RenderObjectWidget。通常,扩展小部件直接放置在 Flex 小部件内。有问题的 Expanded 当前放置在 Align 小部件内。``` (4认同)

Cha*_* Jr 2

您可能希望将 Label 的内容包装在Center小部件中。还有一个对齐小部件,它使用alignment: Alignment.center您的文本作为它的子项。

  • 感谢您的答复。不幸的是,即使使用标签:用“对齐”或“居中”包裹的内容(文本)也不会将其从左对齐位置移动。尝试将标签内容居中并对齐。 (2认同)