Flutter Row()“crossAxisAlignment != CrossAxisAlignment.baseline || textBaseline != null”:不为真。失败的断言:

12
在Flutter中,我在使用crossAxisAlignment: CrossAxisAlignment.baseline时遇到了错误。
错误信息为:
Failed assertion: line 3791 pos 15: 'crossAxisAlignment != CrossAxisAlignment.baseline || textBaseline != null': is not true.

代码::

 Row(
    crossAxisAlignment: CrossAxisAlignment.baseline,

    children: <Widget>[
        Text(
            '192',
            style: kBoldNumberText,
        ),
        Text(
        'cm',
        style: kLabelText,
        )
    ],
    )

这个回答解决了你的问题吗?Flutter升级后出现“Error 'textBaseline != null'”错误 - Kirill Matrosov
3个回答

23

在Flutter中使用crossAxisAlignment时,我们需要告诉它对齐哪个元素,这时我们可以使用textBaseline: TextBaseline.alphabetic来对齐字母基线或图形。

//alphabetic:::

textBaseline: TextBaseline.alphabetic,

-或者-

//graphic:::

textBaseline: TextBaseline.ideographic
在我的情况下,它是alphabetic:::,所以我重新编写。
Row(
    crossAxisAlignment: CrossAxisAlignment.baseline,
    textBaseline: TextBaseline.alphabetic, ////<-- HERE --> ////
    children: <Widget>[
        Text(
            '192',
            style: kBoldNumberText,
        ),
        Text(
        'cm',
        style: kLabelText,
        )
    ],
    )

1

我认为你只需要插入以下内容:textBaseline: TextBaseline.aplhabetic

在你的情况下,

Row(
    crossAxisAlignment: CrossAxisAlignment.baseline,
    textBaseline: TextBaseline.alphabetic //here
    children: <Widget>[
        Text(
            '192',
            style: kBoldNumberText,
        ),
        Text(
        'cm',
        style: kLabelText,
        )
    ],
    )

如果这对你有帮助,请告诉我。


0
在我的情况下,我还添加了textBaseline: TextBaseline.idiographic
以下是代码:
Row(
  mainAxisAlignment: MainAxisAlignment.center,
  textBaseline: TextBaseline.ideographic,
  crossAxisAlignment: CrossAxisAlignment.baseline,
  children: const [
    Text(
      "190",
      style: kNumberTextStyle,
    ),
    Text(
      "cm",
      style: kIconTextStyle,
    ),
  ],
),

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接