首页 > 解决方案 > Flutter:防止一些孩子被拉伸

问题描述

你知道如何防止孩子被拉伸吗?

Column(
 crossAxisAlignment: CrossAxisAlignment.stretch,
  children: [
   Container(child: ...),
   Row( // idon't want this child to be stretched
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: [
     FlatButton(
       child: Icon(Icons.add),
       onPressed: () {},
       color: Color(0xFFE2EDE4),
     ),
     Text(
      '$quantity',
      style: Theme.of(context).textTheme.headline5.copyWith(
            fontWeight: FontWeight.bold,
          ),
     ),
     FlatButton(
      child: Icon(Icons.remove),
      onPressed: () {},
      color: Color(0xFFE2EDE4),
     ),
    ],
   ),
  ],
);

我试图将它包裹在 ConstrainedBox 中,但它仍然被拉伸。

标签: flutterflutter-layout

解决方案


在这种情况下, Column 的 crossAxisAlignment: CrossAxisAlignment.stretch 属性不会影响到 Row 子级。而不是使用 mainAxisAlignment: MainAxisAlignment.spaceBetween

您可以添加 SizedBox(width: ...)


推荐阅读