我试图在包含图像的ListView小部件上添加一个GestureDetector,但它似乎不起作用。之前曾有人问过类似的问题,但这也无济于事。
这是我的代码:
ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext ctx, int index) {
return Container(
width: 160,
child: Card(
child: Wrap(
children: <Widget>[
GestureDetector( onTap: () => Print_on_layout(index),
child: Image.network(a[index], fit: BoxFit.fill,)
)
],
),
),
);
},
itemCount: a.length,
),
答案 0 :(得分:0)
我想这与包装小部件有关,它可能与可以检测到轻敲的空间搞混了。尝试将其删除。如果这不起作用,请告诉我们您是否遇到错误。
答案 1 :(得分:0)
使用姿势检测器作为不在图像上的容器的父对象。 就像在列表中一样,您仅返回单个widgit,因此您应该将容器与手势检测器一起使用。 尝试以下代码:
ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext ctx, int index) {
return
GestureDetector(onTap: () => Print_on_layout(index),
child: Container(
width: 160,
child: Card(
child: Wrap(
children: <Widget>[
Image.network(a[index], fit: BoxFit.fill,)
],
),
),
),
);
},
itemCount: a.length,
),