gpt4 book ai didi

flutter - 为 Row 中的所有 child 设置相同的大小

转载 作者:行者123 更新时间:2023-12-04 14:32:55 24 4
gpt4 key购买 nike

我有一个 Row 有 2 个这样的 child :

 ----------------------
| wide child1 | child2 |
----------------------

有什么方法可以使每个单元格的大小相等,以便每个单元格的宽度等于最宽单元格的宽度?像这样:
 --------------------------
| wide child1 | child2 |
--------------------------

所以整个行将需要 biggestCellWidth * numOfChildren在宽度上。

我无法使用内置小部件实现此行为并尝试实现 MultiChildLayoutDelegate但它也不起作用,因为我无法测量 child 。

更新:

// in build function
Container(
height: 48,
child: Material(
clipBehavior: Clip.antiAlias,
borderRadius: BorderRadius.circular(16),
color: Theme.of(context).colorScheme.primary,
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
// this widgets should be equal in width
_buildButton(
text: "Review",
onTap: _onReviewTap,
),
_buildButton(
text: "Buy",
onTap: _onBuyTap,
),
],
),
),
);

Widget _buildButton({
@required String text,
@required Function onTap,
@required EdgeInsets padding,
}) {
return InkWell(
onTap: onTap,
child: Center(
child: Text(
text,
style: TextStyle(
color: Theme.of(context).colorScheme.onPrimary,
),
),
),
);
}

最佳答案

将您的 child1 和 child2 包裹在里面 Expanded ,

Row(
children: <Widget>[
Expanded(
child: Container(
color: Colors.amber,
height: 100,
),
),
Expanded(
child: Container(
color: Colors.amber,
height: 100,
),
),

关于flutter - 为 Row 中的所有 child 设置相同的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59070046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com