如何在Flutter中的列上的小部件之间添加垂直分隔线?

Rom*_*ine 3 android separator divider flutter

美好的一天。

我在这个网站上浏览有关如何在Flutter中的列上的小部件之间添加垂直分隔线的信息?但是我什么都没有。

我想要的 在此处输入图片说明

我已经做了水平分隔线。但是,当我尝试制作一个垂直分隔线来分隔两个对象(文本|图像)时,我什么也没得到。

这是代码:

Row(children: <Widget>[
                Expanded(
                  child: new Container(
                      margin: const EdgeInsets.only(left: 10.0, right: 20.0),
                      child: Divider(
                        color: Colors.black,
                        height: 36,
                      )),
                ),
                Text("OR"),
                Expanded(
                  child: new Container(
                      margin: const EdgeInsets.only(left: 20.0, right: 10.0),
                      child: Divider(
                        color: Colors.black,
                        height: 36,
                      )),
                ),
              ]),
Run Code Online (Sandbox Code Playgroud)

上面的代码是水平的

Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            Row(
              children: <Widget>[
                Image.asset('images/makanan.png', width: 30,),
                Text('Diskon 20%', style: TextStyle(fontSize: 5, color: Colors.green),)
              ],
            ),
            VerticalDivider(
              color: Colors.red,
              width: 20,
            ),
            Row(
              children: <Widget>[
                Image.asset('images/makanan.png', width: 30,),
                Text('Diskon 20%', style: TextStyle(fontSize: 5, color: Colors.green),)
              ],
            ),
          ],
        ),
Run Code Online (Sandbox Code Playgroud)

上面的代码是我为Vertical Divider设计的。但是失败了

需要你的帮助。谢谢

小智 7

尝试更换

VerticalDivider(color: Colors.red, width: 20)
Run Code Online (Sandbox Code Playgroud)

Container(height: 80, child: VerticalDivider(color: Colors.red))
Run Code Online (Sandbox Code Playgroud)


Ana*_*afi 5

尝试这个:

IntrinsicHeight(
    child: new Row(
  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
  children: <Widget>[
    Text('Foo'),
    VerticalDivider(),
    Text('Bar'),
    VerticalDivider(),
    Text('Baz'),
  ],
))
Run Code Online (Sandbox Code Playgroud)

  • 这可行,但成本可能非常高,这个小部件可能会导致树深度为 O(N²) 的布局。 (2认同)