Android Studio Flutter -我怎样才能使2个按钮和其中最大的一样大?

wz3gfoph  于 2023-01-05  发布在  Android
关注(0)|答案(1)|浏览(162)

我在一个Row小部件中有两个ElevatedButtons,我需要它们的长度相同,但大小与最大的按钮相同。
下面是我当前的代码:

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {},
              child: Text('Some long text'),
            ),
            ElevatedButton(
              onPressed: () {},
              child: Text('Short'),
            ),
          ],
        ),
      ),
    );
  }
}

正如你所看到的,一个按钮比另一个大很多。有没有可能让"短"按钮和"一些长文本"按钮一样长?

我想我可以使用Expanded使它们大小相同,但我不想这样,因为我需要它们使用尽可能少的长度,同时仍然是相同的大小,而不需要缩小其中之一。
先谢了。

fumotvh3

fumotvh31#

我发现您可以用IntrinsicWidth小部件 Package Row(以及用Expanded Package Row的所有子小部件),并且它可以按照您的需要工作,但是它的描述是:
此类开销相对较大。请尽量避免使用。

IntrinsicWidth(
  child: Row(
    children: [
      Expanded(
        child: ElevatedButton(
          onPressed: () {},
          child: Text('Some long text'),
        ),
      ),
      Expanded(
        child: ElevatedButton(
          onPressed: () {},
          child: Text('Short'),
        ),
      ),
    ],
  ),
)

相关问题