如何在Flutter中对容器小部件加下划线

时间:2018-07-01 19:03:24

标签: widget flutter underline

我正在尝试在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)),
      ),

但是现在我希望下划线不是从头到尾,我想在头和尾都有空格。如果有一些更巧妙的方式在小部件下划线,我也很高兴看到它。

4 个答案:

答案 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小部件中创建下划线

此处是代码:

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,
  ),
),