我正在尝试在Flutter应用中为容器加下划线。到目前为止,当我使用以下代码时,我获得了某种基础:
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'Underline my parent!',
maxLines: 2,
textAlign: TextAlign.center,
),
),
)
],
),
decoration: Border(bottom: BorderSide(color: Colors.grey)),
),
但是现在我希望下划线不是从头到尾,我想在头和尾都有空格。如果有一些更巧妙的方式在小部件下划线,我也很高兴看到它。
答案 0 :(得分:2)
您可以使用简单的Divider
小部件,其中包括填充:
new Padding(
padding: EdgeInsets.all(8.0),
child: new Divider()
),
然后,您可以将现有的窗口小部件包裹在列中:
new Column(
children: <Widget> [
yourContainerWidget,
new Padding(
padding: EdgeInsets.all(8.0),
child: new Divider()
),
]
)
答案 1 :(得分:2)
一个简单的解决方案是使用Container
小部件创建一行。并使用Column小部件包装Row小部件,并将该行添加为第二个子级,如下所示:
var aLine = Container(color: Colors.grey, width: 50.0, height: 2.0,);
Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'Underline my parent!',
maxLines: 2,
textAlign: TextAlign.center,
),
),
),
],
),
aLine
],
),
答案 2 :(得分:2)
在容器中添加一个底部BorderSide
。
Container(
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(width: 1.0, color: Colors.black),
),
),
),
答案 3 :(得分:0)
您只需使用Border
此处是代码:
Container(
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: 1.0
),
),
),
child: Text(
'Underline my parent!',
maxLines: 2,
textAlign: TextAlign.center,
),
),