1

我正在尝试为以下小部件中的某些文本添加边框:

 Widget build(BuildContext context) {
    return Container(
      child: Stack(
        children: <Widget>[
      Positioned(
            bottom: 0,
            top: 70,
            right: 50,
            left: 50,
            child: Text(
              surprises[surpriseNumber]['Surprises'],
              style: TextStyle(fontSize: 20, color: Colors.pink[700]),
              textAlign: TextAlign.center,
            ),
          ),
        ],
      ),
    );
  }

但我不知道该怎么做。根据我在网上找到的答案,我觉得这应该可行:

Widget build(BuildContext context) {
    return Container(
      child: Stack(
        children: <Widget>[
      Positioned(
            bottom: 0,
            top: 70,
            right: 50,
            left: 50,
            child: Text(
              surprises[surpriseNumber]['Surprises'],
              style: TextStyle(fontSize: 20, color: Colors.pink[700]),
              textAlign: TextAlign.center,
              child: Container(
                decoration: BoxDecoration(),
              ),
            ),
          ),
        ],
      ),
    );
  }

但它失败了The named parameter 'child' isn't defined.

有人能指出我在这里出错的地方吗?

4

1 回答 1

2
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Stack(
        children: <Widget>[
          Positioned(
            bottom: 0,
            top: 70,
            right: 50,
            left: 50,
            child: Container(
              decoration: BoxDecoration(
                border: Border.all(),
              ),
              child: Text(
                'some text here',
                style: TextStyle(fontSize: 20, color: Colors.pink[700]),
                textAlign: TextAlign.center,
              ),
            ),
          ),
        ],
      ),
    );
  }

这应该工作!您只需要将文本小部件包装在容器内并在 BoxDecoration() 中提供边框。您将容器作为 Text() 小部件的子级放置,这是不可能的,因为 Text() 小部件没有称为子级的参数。

于 2020-05-06T17:47:20.110 回答