Flutter Padding EdgeInsets fromLTRB 将内容推到底部
Flutter Padding EdgeInsets fromLTRB pushes the content to the bottom
我正在尝试将 底部填充 添加到我的 Column Card 小部件内(参考下面的图片和代码):
[![我的代码和布局的快照][1]][1]
代码:
Column(
children: <Widget>[
Padding(padding: EdgeInsets.fromLTRB(10, 0, 10, 20)),
Text('${e.phrase}', style: TextStyle(color: Colors.white60),),
Divider(height: 5, color: Colors.transparent,),
Text('${e.author}', style: TextStyle(color: Colors.white60),)
],
),
问题:我越是增加底部填充值,列的内容就越被推到底部,这与预期相反,我做错了什么?请解释。
[1]: https://i.stack.imgur.com/dFKKt.png
你做错了。您需要将列包装在 Container 中,然后添加边距。
Container(
margin: EdgeInsets.fromLTRB(10, 0, 10, 20),//Add Margin here
child: Column(
children: <Widget>[
Text(
'${e.phrase}',
style: TextStyle(color: Colors.white60),
),
Divider(
height: 5,
color: Colors.transparent,
),
Text(
'${e.author}',
style: TextStyle(color: Colors.white60),
)
],
),
),
我想为 Column widget 设置 padding 这样做
Padding(
padding: EdgeInsets.fromLTRB(10, 0, 10, 20),
child: Column(
children: <Widget>[
Text('quotes'),
Text('quotes author')
],
),
),
您将 Padding 小部件作为 Column 的子级传递,结果是您只是将一个空框作为 Text Widget 的同级。
如果您查看 Padding 小部件的文档或源代码,您会发现 Padding 小部件接受可选的子小部件。
class Padding extends SingleChildRenderObjectWidget {
const Padding({
Key key,
@required this.padding,
Widget child,
}) : assert(padding != null),
super(key: key, child: child);
final EdgeInsetsGeometry padding;
... // other code omitted
}
因此,如果您想为容器列设置填充,则应将其设为填充小部件的子项。
您需要用 Column 包裹 Padding。
Padding(
padding: const EdgeInsets.all(50.0),
child: Text('Text Widget'),
),
我正在尝试将 底部填充 添加到我的 Column Card 小部件内(参考下面的图片和代码): [![我的代码和布局的快照][1]][1]
代码:
Column(
children: <Widget>[
Padding(padding: EdgeInsets.fromLTRB(10, 0, 10, 20)),
Text('${e.phrase}', style: TextStyle(color: Colors.white60),),
Divider(height: 5, color: Colors.transparent,),
Text('${e.author}', style: TextStyle(color: Colors.white60),)
],
),
问题:我越是增加底部填充值,列的内容就越被推到底部,这与预期相反,我做错了什么?请解释。 [1]: https://i.stack.imgur.com/dFKKt.png
你做错了。您需要将列包装在 Container 中,然后添加边距。
Container(
margin: EdgeInsets.fromLTRB(10, 0, 10, 20),//Add Margin here
child: Column(
children: <Widget>[
Text(
'${e.phrase}',
style: TextStyle(color: Colors.white60),
),
Divider(
height: 5,
color: Colors.transparent,
),
Text(
'${e.author}',
style: TextStyle(color: Colors.white60),
)
],
),
),
我想为 Column widget 设置 padding 这样做
Padding(
padding: EdgeInsets.fromLTRB(10, 0, 10, 20),
child: Column(
children: <Widget>[
Text('quotes'),
Text('quotes author')
],
),
),
您将 Padding 小部件作为 Column 的子级传递,结果是您只是将一个空框作为 Text Widget 的同级。
如果您查看 Padding 小部件的文档或源代码,您会发现 Padding 小部件接受可选的子小部件。
class Padding extends SingleChildRenderObjectWidget {
const Padding({
Key key,
@required this.padding,
Widget child,
}) : assert(padding != null),
super(key: key, child: child);
final EdgeInsetsGeometry padding;
... // other code omitted
}
因此,如果您想为容器列设置填充,则应将其设为填充小部件的子项。
您需要用 Column 包裹 Padding。
Padding(
padding: const EdgeInsets.all(50.0),
child: Text('Text Widget'),
),