如何解决Flutter:SingleChildScrollView不适用于列和网格视图为什么?
我无法滚动查看我的下部网格视图。这是为什么?为了使这项工作有效,我应该更改什么?请帮忙!!! 预先谢谢你。
Scaffold(
body: SingleChildScrollView(
child: Container(
child: Column(
children: <Widget>[
Text('GridView 1'),GridView.count(
crossAxisCount: 3,shrinkWrap: true,children: List.generate(
9,(index) {
return TouchableImageCard(
imagePath: 'assets/images/view_${index + 1}.jpg',);
},),Text('GridView 2'),GridView.builder(
itemCount: list_item.length,gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3),itemBuilder: (BuildContext context,int index) {
return TouchableImageCard(
imagePath: 'assets/images/view_${index + 1}.jpg',// width: 150,// height: 150,);
},],);
谢谢你的帮助。
解决方法
尝试一下:
Center(
child: SingleChildScrollView(
padding: const EdgeInsets.all(8.0),child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: <Widget>[]
,
它确实可以工作,但不是您需要的方式。
问题在于GridView本身也是可滚动的小部件。因此,当您尝试滚动页面时,它实际上尝试滚动那些GridView,而不是SingleChildScrollView。
要禁用GridView滚动功能-您需要再添加一个参数。
GridView.count(
physics: NeverScrollableScrollPhysics(),...
),
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。