首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter SingleChildScrollView不会滚动

Flutter SingleChildScrollView不会滚动
EN

Stack Overflow用户
提问于 2020-03-26 03:22:08
回答 1查看 35关注 0票数 0

我的屏幕好像不能滚动。我已经尝试了以下代码的一些变体,但我无法使其正常工作。我也尝试过ListView,但也不能很好地工作。诚然,我没有尝试对ListView进行很长时间的故障排除,因为我认为问题是由其他原因引起的。我已经看到了一些关于这个主题的问题,他们帮助我解决了一些问题,但我似乎无法让它正常工作。我没有收到任何错误消息或任何东西,我的屏幕根本不滚动。下面你会看到我的代码的总体布局。我做错了什么?

代码语言:javascript
复制
class _TripPackagesState extends State<TripPackages> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          Container(
            child: Padding(
              padding: EdgeInsets.symmetric(horizontal: 20.0),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: <Widget>[
                  Text(...),
                  GestureDetector(...),
                ],
              ),
            ),
          ),
          Container(
            margin: EdgeInsets.only(top: 1.0),
            child: SingleChildScrollView(
              child: StreamBuilder<QuerySnapshot>(
                stream:
                    Firestore.instance.collection('trip_package').snapshots(),
                builder: (BuildContext context,
                    AsyncSnapshot<QuerySnapshot> docSnapshot) {
                  if (!docSnapshot.hasData) return const Text('Loading...');
                  final int docCount = docSnapshot.data.documents.length;
                  return GridView.builder(
                    shrinkWrap: true,
                    scrollDirection: Axis.vertical,
                    itemCount: docCount,
                    itemBuilder: (_, int index) {
                      DocumentSnapshot document =
                          docSnapshot.data.documents[index];
                      return GestureDetector(
                        child: Container(
                          margin: EdgeInsets.all(3.0),
                          child: Column(
                            mainAxisAlignment: MainAxisAlignment.center,
                            children: <Widget>[
                              Row(...),
                              Row(...),
                            ],
                          ),
                        ),
                      );
                    },
                    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(...),
                  );
                },
              ),
            ),
          ),
        ],
      ),
    );
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 03:29:12

尝试在GridView.builder中使用primary: false

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60855965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档