Flutter 多行文字将中心与行高垂直对齐

Flutter 多行文字将中心与行高垂直对齐,flutter,flutter-text,Flutter,Flutter Text,我目前正试图让文本以一定的行高应用,并将文本垂直居中对齐。因为在TextStyle上没有垂直对齐的选项,所以我尝试使用StrutStyle来引导近似地将其对齐到中心。但是,设置前导后,前导和文本样式高度的文本的高度不同 演示可以在以下位置进行检查 想知道是否有合适的方法将其对准中心?文本是多行的 如果现在推荐使用引导方法,是否有任何计算可以使用引导同步正确的高度 使用Align小部件包装,它将帮助您在任何地方对齐 Align ( alignment : Alignment.topC

我目前正试图让文本以一定的行高应用,并将文本垂直居中对齐。因为在TextStyle上没有垂直对齐的选项,所以我尝试使用StrutStyle来引导近似地将其对齐到中心。但是,设置前导后,前导和文本样式高度的文本的高度不同

演示可以在以下位置进行检查

  • 想知道是否有合适的方法将其对准中心?文本是多行的
  • 如果现在推荐使用引导方法,是否有任何计算可以使用引导同步正确的高度

  • 使用
    Align
    小部件包装,它将帮助您在任何地方对齐

     Align (
          alignment : Alignment.topCenter;
        child : Text(
              'label A',
              style: const TextStyle(
                fontSize: 16.0,
                color: Colors.red,
                backgroundColor: Colors.blue,
              ),
              strutStyle: StrutStyle(
                fontSize: 16.0,
                leading: (70.0 / 16.0)/2,
                forceStrutHeight: true,
              ),
            ),
        ),
    

    谢谢你的回复!但这可能不适用于具有特定行高的多行文本。您可以将文本小部件包装在
    中心
    小部件中。如果文本小部件在一行中,您可以使用
    mainaxisallignemnt.center
    @UjjwalRaijada,谢谢您的回复。主要的问题是文本是多行和所需的行高。我知道我可能会用一个容器来残忍地包装,但我只是想知道是否还有其他更优雅的方式。
     Align (
          alignment : Alignment.topCenter;
        child : Text(
              'label A',
              style: const TextStyle(
                fontSize: 16.0,
                color: Colors.red,
                backgroundColor: Colors.blue,
              ),
              strutStyle: StrutStyle(
                fontSize: 16.0,
                leading: (70.0 / 16.0)/2,
                forceStrutHeight: true,
              ),
            ),
        ),