【问题标题】:How can I remove the inner scroll from a GridView?如何从 GridView 中删除内部滚动?
【发布时间】:2019-06-26 23:37:35
【问题描述】:

我正在尝试使用一个滚动条的 ListView。我希望能够向下滚动并查看每个小部件。目前,我在 GridView 之前有多个小部件。问题在于 GridView 有自己的滚动条。我想要的一个很好的例子类似于 Instagram 个人资料页面。当您在 Instagram 个人资料页面中向下滚动时,每个元素都会向下滚动。没有嵌套的卷轴。

这是我当前的代码:

body: ListView(
children: <Widget>[
  ...
  ...
Container(
  child: GridView.count(
           crossAxisCount: 3,
           shrinkWrap: true,
           children: List.generate(100, (index) {
                  return Container(
                           alignment: Alignment.center,
                           margin: EdgeInsets.all(3.0),
                           height: MediaQuery.of(context).size.height,
                           child: FadeInImage.memoryNetwork(
                           placeholder: kTransparentImage,
                          image:'https://picsum.photos/${300}/${300}/',
                      ),
                    );
                  }),
                ),
              )
    ]
)

【问题讨论】:

    标签: android ios gridview flutter dart


    【解决方案1】:

    有嵌套的滚动小部件,CustomScrollView,它可以让 Slivers 实现您正在寻找的东西。 SliverGrid 和 SliverList 是您实现目标所需的:

    Widget sliverScroll() {
        return CustomScrollView(
          slivers: <Widget>[
            SliverGrid(
              delegate: SliverChildBuilderDelegate((context, index) {
                return Container();
              }, childCount: 9),
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3),
            ),
            SliverList(
              delegate: SliverChildBuilderDelegate((context, index) {
                return Container();
              }, childCount: 6),
            ),
          ],
        );
      }
    

    您可以根据需要自定义,更改订单或它,项目计数等

    【讨论】:

    • 很高兴它工作!请务必将我的答案标记为正确,以帮助更多人。
    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 2010-10-10
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多