问题描述
我已成功在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()),);
}
}
解决方法
用GridTile
将GestureDetector
包裹起来,这样每个GridTile都可以点击
尝试一下,对我有用:-)
return GridTile( child: InkWell( onTap: () { //here get image tap callback },child: Image.network( url,),);