Flutter 颤振:在“一半”中剪切一行

Flutter 颤振:在“一半”中剪切一行,flutter,flutter-layout,Flutter,Flutter Layout,我一直在玩《颤栗》中的列表,一切都很好。我开始明白整件事的逻辑了 现在我想做一个简单的布局如下: 我的问题是我找不到办法排第一行。我试图告诉Row让它的两个孩子拿走一半,但我并没有真正找到办法。里面的东西最终会是纽扣。我试了几次都没用。以下是我开始的布局: Widget build(BuildContext context) { return Scaffold( body: Center( child: Column(children: <Widget>[

我一直在玩《颤栗》中的列表,一切都很好。我开始明白整件事的逻辑了

现在我想做一个简单的布局如下:

我的问题是我找不到办法排第一行。我试图告诉Row让它的两个孩子拿走一半,但我并没有真正找到办法。里面的东西最终会是纽扣。我试了几次都没用。以下是我开始的布局:

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没关系,每个人都会遇到: