在显示图像的gridview上添加手势检测器的位置

问题描述

我已成功在gridView()中显示图像 但是现在,我希望每个图片都可点击/可点击, 我曾尝试将手势检测器放入儿童体内,但似乎不起作用, 请帮助。

        import 'package:Flutter/foundation.dart';
        import 'package:Flutter/material.dart';
        import 'package:Flutter/material.dart';
        import 'package:cached_network_image/cached_network_image.dart';

        class SearchTiles extends StatefulWidget {
          final String Image1 ="https://www.image1.png";
          final String Image2 ="https://www.image2.png";
          final String Image3 = "https://www.image3.png";
          final String Image3 = "https://www.image4.png";


          @override
          _SearchTilesstate createState() => _SearchTilesstate();
        }

        class _SearchTilesstate extends State<SearchTiles> {
          @override
          Widget build(BuildContext context) {
            final title = 'Pick a Store';

            return MaterialApp(
              title: title,home: Scaffold(
                appBar: AppBar(
                  title: Text(title),),body: GridView.count(
                    crossAxisCount: 2,children: <String>[
                      widget.image1,widget.image2,widget.image3,widget.image4
                    ].map((String url) {
                      return GridTile(
                        child: Image.network(
                          url,);
                    }).toList()),);
          }
        }

解决方法

GridTileGestureDetector包裹起来,这样每个GridTile都可以点击

,

尝试一下,对我有用:-)

return GridTile(
  child: InkWell(
    onTap: () {
      //here get image tap callback
    },child: Image.network(
      url,),);