使连续的按钮在颤振中具有相同的宽度

Make buttons in a row have the same width in flutter

如果我想使一个Row中的两个或更多Buttons具有相同的Width,我该如何实现? 例如,我有三个不同标题的 RaisedButtons 让我们说 ApproveRejectNeed Revise,如果我把三个 Button 放在 Row, 他们会有不同的 Width 而我不想要它。 我需要的是因为它们具有相同的 Width.

您可以使用 RowExpanded 包装您的 children:

Row(
  children: <Widget>[
    Expanded(
      child: RaisedButton(
        child: Text('Approve'),
        onPressed: () => null,
      ),
    ),
    Expanded(
      child: RaisedButton(
        child: Text('Reject'),
        onPressed: () => null,
      ),
    ),
    Expanded(
      child: RaisedButton(
        child: Text('Need Revise'),
        onPressed: () => null,
      ),
    )
  ],
);

有两种方法:

  1. 扩展小部件它将 space 等分。如果你使用 列的行的所有扩展小部件。
  2. 获取屏幕的宽度,将其平均分成需要的尺寸。

Double width = MediaQuery.of(context).size.width;

可以使用新的按钮样式:

ElevatedButtonTheme(
      data: ElevatedButtonThemeData(style: ElevatedButton.styleFrom(minimumSize: Size(120,60))) ,
      child: ButtonBar(
        mainAxisSize: MainAxisSize.max,
        children: [
          ElevatedButton(
            child: Text('Ok'),
            onPressed: () {},
          ),
          ElevatedButton(
            child: Text('Cancel'),
            onPressed: () {},
          ),
        ],
      ),
    ),

虽然diegoveper的回答速度更快