Flutter 颤振:在“一半”中剪切一行
我一直在玩《颤栗》中的列表,一切都很好。我开始明白整件事的逻辑了 现在我想做一个简单的布局如下: 我的问题是我找不到办法排第一行。我试图告诉Row让它的两个孩子拿走一半,但我并没有真正找到办法。里面的东西最终会是纽扣。我试了几次都没用。以下是我开始的布局:Flutter 颤振:在“一半”中剪切一行,flutter,flutter-layout,Flutter,Flutter Layout,我一直在玩《颤栗》中的列表,一切都很好。我开始明白整件事的逻辑了 现在我想做一个简单的布局如下: 我的问题是我找不到办法排第一行。我试图告诉Row让它的两个孩子拿走一半,但我并没有真正找到办法。里面的东西最终会是纽扣。我试了几次都没用。以下是我开始的布局: Widget build(BuildContext context) { return Scaffold( body: Center( child: Column(children: <Widget>[
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 50.0),
),
Row(
children: <Widget>[
Padding(
padding: EdgeInsets.only(
top: buttonPaddingTop,
left: buttonPaddingSide,
right: buttonPaddingSide),
child: ButtonTheme(
child: FlatButton(
onPressed: () {},
color: Colors.grey,
child: const Text('LARGE TEXT',
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: buttonFontSize)),
),
),
),
Padding(
padding: EdgeInsets.only(
top: buttonPaddingTop,
left: buttonPaddingSide,
right: buttonPaddingSide),
child: ButtonTheme(
child: FlatButton(
onPressed: () {},
color: Colors.grey,
child: const Text('LARGE TEXT',
overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: buttonFontSize)),
),
),
),
],
),
]),
),
);
}
我是应该继续这样尝试,还是应该尝试使用除Row之外的其他对象来安排布局?在这种情况下,在水平方向上占用尽可能多的可用空间。这意味着,如果在行中使用2个扩展的小部件,则空间将被减半
试试这个:
Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
child: Text('first half'),
),
Expanded(
child: Text('second half'),
),
],
),
Row(
children: <Widget>[
Expanded(
child: Text('first half'),
),
Expanded(
child: Text('second half'),
),
],
),
Row(
children: <Widget>[
Expanded(
child: Text('full width'),
)
],
),
],
)
请确保阅读更多关于颤振小部件的信息,例如观看本视频和本系列中的其他视频:
谢谢你的链接,基于我使用的扩展,我会试试看。@moo我添加了一个更完整的答案,所以2行大小为一半,第三行全宽。最糟糕的是,我在另一个上下文中使用了扩展,而在列表行中,开头有一些内容,结尾有一些内容,一个扩展的中间层,占据所有空间,能够使用textoverflow^^@moo没关系,每个人都会遇到: