答案 0 :(得分:11)
import 'package:flutter/material.dart';
class VerticalDivider extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
height: 30.0,
width: 1.0,
color: Colors.white30,
margin: const EdgeInsets.only(left: 10.0, right: 10.0),
);
}
}
答案 1 :(得分:11)
截至10天前,has merged陷入了VerticalDivider
的实现。它将很快在默认通道中可用,但是现在您必须切换到dev通道才能使用它:flutter channel dev
。
以下是使用方法的示例:
IntrinsicHeight(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Text('Foo'),
VerticalDivider(),
Text('Bar'),
VerticalDivider(),
Text('Baz'),
],
))
答案 2 :(得分:9)
尝试将其包裹在Container
内,高度为
Container(height: 80, child: VerticalDivider(color: Colors.red)),
答案 3 :(得分:6)
据我所知。但是,创建一个非常简单 - 如果你查看Flutter's Divider的来源,你会发现它只是一个带有单个(底部)边框的大小的盒子。你可以做同样的事情但是换了尺寸。
更新:颤动团队VerticalDivider
实施merged in。查看docs,但它非常简单易用 - 只需将其放在连续的其他两个项目之间。
答案 4 :(得分:3)
这两种方法都有 2种简单方法。
垂直分隔线:
VerticalDivider()
Container(
width: 1,
height: double.maxFinite,
color: Colors.grey,
)
水平分隔线:
Divider()
Container(
height: 1,
width: double.maxFinite,
color: Colors.grey,
)
答案 5 :(得分:1)
正如@rwynnchristian所建议的那样,这似乎是IMO最简单的解决方案。只需将代码留在这里:
import 'package:flutter/material.dart';
class VerticalDivider extends StatelessWidget {
@override
Widget build(BuildContext context) => RotatedBox(
quarterTurns: 1,
child: Divider(),
);
}
答案 6 :(得分:1)
将此方法添加到任何地方。
_verticalDivider() => BoxDecoration(
border: Border(
right: BorderSide(
color: Theme.of(context).dividerColor,
width: 0.5,
),
),
);
现在将您的内容包装在容器中
Container(
decoration: _verticalDivider(),
child: //your widget code
);
答案 7 :(得分:0)
将RotatedBox与分隔符结合使用以使其垂直,RotatedBox是一个颤动的小部件,它根据您必须指定的quarterTurn属性自动旋转它的子级。前往此处获取详细解释https://docs.flutter.io/flutter/widgets/RotatedBox-class.html
答案 8 :(得分:0)
尝试过VerticalDivider()
,但无法获得任何分隔符。我用
Container(color: Colors.black45, height: 50, width: 2,),
答案 9 :(得分:0)
您可以使用厚度为1的垂直分隔线。
VerticalDivider(
thickness: 1,
color: Color(0xFFF6F4F4),
),
如果您不能设置垂直分隔线,请使用 IntrinsicHeight 小部件将行换行。