Flutter:ListView无法在定位的小部件中滚动

问题描述 投票:2回答:1

我目前在AppBar和页面内容中有一个带有背景的堆栈。我在页面中央显示一个Container,并在Positioned小部件的位置,其中包含一个grid/listview

@override
  Widget build(BuildContext context) {
    return Scaffold(
      extendBodyBehindAppBar: true,
      appBar: VehicleScreenAppBar(
        title: title,
        context: context,
      ),
      body: LayoutBuilder(
        builder: (contxt, vehicleListConstraints) {
          return Stack(
            overflow: Overflow.visible,
            children: <Widget>[
              AppBarBackDrop(constraints: vehicleListConstraints),
              Positioned(
                top: vehicleListConstraints.maxHeight * .15,
                left: (vehicleListConstraints.maxWidth - vehicleListConstraints.maxWidth * .9) / 2,
                child: Container(
                  color: Colors.red,
                  height: vehicleListConstraints.maxHeight * .6,
                  width: vehicleListConstraints.maxWidth * .9,
                  child: ListView.builder(
                    itemCount: 20,
                    itemBuilder: (context, i) {
                      return Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: Container(
                          height: 50,
                          color: Colors.blue,
                          child: Text('text'),
                        ),
                      );
                    },
                  ),
                ),
              )
            ],
          );
        },
      ),
    );
  }

Screenshot

我遇到的问题是,当我拥有grid/listview小部件时,Positioned不滚动,并且我明确命名了所有但并非其构造函数的全部,即top:bottom:left:right:。 (我懒洋洋地通过grid/listview来构建.builder)。

我有一个解决方法/破解方法,其中删除了Positioned,然后将其替换为PageView。然后PageView有一个children: <Widget> [ Container() ],然后我通过边距构造函数的top:left:进行定位。

这现在可以使用,但不适用于我要用于生产的东西。如何在不命名其所有构造函数的情况下让grid/listviewPositioned小部件内滚动?

listview flutter dart scroll position
1个回答
0
投票

@@ Morgan Hunt,您有没有解决这个问题?我遇到了同样的问题,确实找到了一种解决方法,该方法可在我的用例中很好地工作,但是我真的很想在Positioned小部件中使用滚动选项。

© www.soinside.com 2019 - 2024. All rights reserved.