垂直分隔线未显示

Bur*_*rak 28 flutter flutter-layout

我正在尝试使用VerticalDivider小部件来分隔Row. 这里是全身。

在此处输入图片说明

排:

Row(
  children: <Widget>[
    Text('420 Posts', style: TextStyle(color: Color(0xff666666)),),
    VerticalDivider(
      thickness: 2,
      width: 20,
      color: Colors.black,
    ),
    Text('420 Posts', style: TextStyle(color: Color(0xff666666)),)
  ],
),
Run Code Online (Sandbox Code Playgroud)

Cra*_*Cat 73

包装你RowIntrinsicHeight

IntrinsicHeight(
  child: Row(
    children: <Widget>[
      Text('420 Posts', style: TextStyle(color: Color(0xff666666)),),
      VerticalDivider(
        thickness: 2,
        width: 20,
        color: Colors.black,
      ),
      Text('420 Posts', style: TextStyle(color: Color(0xff666666)),)
    ],
  ),
)
Run Code Online (Sandbox Code Playgroud)

  • IntrinsicHeight 的构建成本很高,因此要小心,仅在没有其他解决方案时使用。在这种情况下,简单的容器就可以工作。https://api.flutter.dev/flutter/widgets/IntrinsicHeight-class.html (9认同)
  • 这就是作品。我想知道为什么我们需要用 IntrinsicHeight 换行。 (7认同)
  • 我不知道。它迫使排中的所有孩子达到合理的高度。 (2认同)
  • 它有效,但我宁愿只使用容器(而不是 VerticalDivider)而不是添加另一个包装器小部件。 (2认同)

小智 25

VerticalDivider 需要高度才能正常工作,请将其与 SizedBox 或定义了高度参数的等效项一起使用。

例子:

SizedBox(
   height: 40
   child: VerticalDivider(
      thickness: 2,
      width: 20,
      color: Colors.black,
   ),
)
Run Code Online (Sandbox Code Playgroud)