容器的高度在颤振中伸展,即使我输入较小的值?

Posted

技术标签:

【中文标题】容器的高度在颤振中伸展,即使我输入较小的值?【英文标题】:height of Container is stretching in Flutter, even if i put smaller value? 【发布时间】:2021-05-02 10:37:55 【问题描述】:

我将容器的高度设置为 40,但它获得了父容器的高度。我认为 ListView.builder 正在扩展它的孩子,因为如果我用该容器的一行替换它(查看代码),它会按预期工作。

import 'package:flutter/material.dart';

class PaymentScreen extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return Scaffold(body: SafeArea(child: Column(children: [
            Container(alignment: Alignment.center, height: 200,
              child: ListView.builder(scrollDirection: Axis.horizontal, shrinkWrap: true,
                itemBuilder: (BuildContext context, int index) =>
                /// this Container is stretching, even it has definite height
                Container(alignment: Alignment.center, margin: EdgeInsets.all(8), padding: EdgeInsets.all(8), color: Colors.amber,
                  /// this width is not listening to me!
                  width: 40, height: 40,
                    child: Text('$index + 1'),),
                itemCount: 31,),),],),),);
  

【问题讨论】:

【参考方案1】:

这是由于容器的性质造成的。容器自然会尽可能多地吸收。要将其强制为您想要的大小,您需要添加一个中间小部件来说明您没有容器填充的空间。

您可以使用的几个小部件是 CenterAlignStackPositioned 小部件一起使用。您甚至可以使用第二个Container,但如果您必须使用alignment 属性来避免相同的结果。

【讨论】:

以上是关于容器的高度在颤振中伸展,即使我输入较小的值?的主要内容,如果未能解决你的问题,请参考以下文章

输入两个正整数m和n,求其最大公约数和最小公倍数

尝试调整我的 UIView 容器以适应较小的 iPhone 屏幕尺寸

仅在可变高度容器内使用正方形的颤振布局

tailwind css - 无法让项目填写页面,总是卡在较小的容器中

FancyBox iframe 高度问题

用Python写一个程序,提示输入两个字符串,然后进行比较,输出较小的字符串.要求只能使用单字符串比较操作