flutter禁用滚动事件

经常因为需要在listView中 嵌套 gridView 来创建二维布局的元素,如图,


flutter禁用滚动事件_第1张图片


但是gridView自带滚动属性,使得页面无法随着listview滚动,所以我们需要禁用 gridView的滚动属性。

所有滚动组件 都有一个叫physics的属性。只要我们增加如下代码:

physics: new NeverScrollableScrollPhysics(),

完整代码:

new GridView.count(
            physics: new NeverScrollableScrollPhysics(),
            crossAxisCount: (orientation == Orientation.portrait) ? 3 : 4,
            mainAxisSpacing: 20.0,
            crossAxisSpacing: 4.0,
            padding: const EdgeInsets.all(4.0),
            childAspectRatio: (orientation == Orientation.portrait) ? 1.0 : 1.3,
            children: photos.map((Photo photo) {
              return new GridDemoPhotoItem(
                  photo: photo,
                  onBannerTap: (Photo photo) {
                    setState(() {
                      photo.isFavorite = !photo.isFavorite;
                    });
                  }
              );
            }).toList(),
);

你可能感兴趣的:(flutter)