如何防止水平ListView项拉伸

时间:2019-01-27 15:42:01

标签: flutter flutter-layout

我在列中有一个水平的ListView。

我的ListView正在渲染100 x 100个项目,这些项目我希望将它们的高度动画化为200。

我将ListView包裹在一个高度为200的容器中,否则我将收到错误消息,并且代码将无法运行

现在的问题是列表项将其高度扩展到200。 有没有办法防止这种行为,我尝试了对齐,但是没有用。 这是到目前为止的代码

Scaffold(
        body: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Container(
              height: 200,
              child: ListView(
                scrollDirection: Axis.horizontal,
                children: <Widget>[
                  CCard(),
                  CCard(),
                  CCard(),
                  CCard(),
                  CCard(),
                ],
              ),
            ),
          ],
        ));

还有列表项

class CCard extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.symmetric(horizontal: 8.0),
      height: 100,
      width: 100,
      color: Colors.red[200],
    );
  }
}

1 个答案:

答案 0 :(得分:1)

尝试将Container包裹在AlignCenter中,如下所示:

            class CCard extends StatelessWidget {
              @override
              Widget build(BuildContext context) {
                return Center(
                  child: Container(
                    margin: EdgeInsets.symmetric(horizontal: 8.0),
                    height: 100,
                    width: 100,
                    color: Colors.red[200],
                  ),
                );
              }
            }

更多信息:https://docs.flutter.io/flutter/widgets/Container-class.html