Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 集装箱的高度是在颤振中伸展的,即使我放的值较小?_Flutter_Listview_Dart_Layout_Horizontalscrollview - Fatal编程技术网

Flutter 集装箱的高度是在颤振中伸展的,即使我放的值较小?

Flutter 集装箱的高度是在颤振中伸展的,即使我放的值较小?,flutter,listview,dart,layout,horizontalscrollview,Flutter,Listview,Dart,Layout,Horizontalscrollview,我把容器的高度设为40,但它得到父容器的高度。我认为ListView.builder正在扩展它的子元素,因为如果我用一行容器替换它(看看代码),它就会按预期工作 import 'package:flutter/material.dart'; class PaymentScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold(body: SafeA

我把容器的高度设为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,),),],),),);
  }
}

发生这种情况是因为容器的性质。容器自然会尽可能多地吸收。要强制它成为您想要的大小,您需要添加一个中间小部件来说明您不需要容器填充的空间

可以使用的两个小部件是
Center
Align
Stack
,与
定位的
小部件一起使用。您甚至可以使用第二个
容器
,但是如果必须使用
对齐
属性来避免相同的结果