内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持
腾讯云小微IT领域专用引擎提供翻译支持
我正在尝试在我的Flutter应用程序中给Container加下划线。到目前为止,我使用以下代码实现了某种意义上的归属感:
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)), ),
但现在我希望下划线不是从头到尾,我想在开始和结束时留出空间。如果有更聪明的方式给窗口小部件加下划线,我也会很高兴看到的。
您可以使用包含填充的简单 Divider 小部件:
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() )
一个简单的解决方案是使用 Container 小部件创建一行。并使用Column小部件包装Row小部件,并将该行添加为第二个子级,如下所示:
Container
var aLine = Container(color: Colors.grey, width: 50.0, height: 2.0,); Column( children: <Widget>[ mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Expanded( child: Padding( padding: EdgeInsets.all(8.0), child: Text( 'Underline my parent!', maxLines: 2, textAlign: TextAlign.center, aLine ),
您可以使用 Border 在容器小部件中简单地创建下划线
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, ),
将底部 BorderSide 添加到容器中。
BorderSide
Container(