问题描述
我无法滚动查看我的下部网格视图。这是为什么?为了使这项工作有效,我应该更改什么?请帮忙!!! 预先谢谢你。
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(),...
),