如何获得GestureDetector的确切分接位置

时间:2020-08-25 06:48:54

标签: image flutter flutter-layout

GestureDetector对于返回的任何图像始终返回相同的位置。

while (i<numImages) {
    GestureDetector(
    onTap:(){
      _onImageTapped(i);
    },

   child: FadeInImage(
      fit: BoxFit.cover,
      image: AssetImage(urls[i%5]),
       placeholder: AssetImage(urls[i%5]),
  
  )));
images.add(carImage);
i++;
 }
}

卡上窃听功能为:

_onImageTapped(int position) {
        print('$position tapped');
   }

2 个答案:

答案 0 :(得分:1)

您要使用GestureDetector的onTapUp或onTapDown属性,这样就可以获取具有位置详细信息的TapDownDetails或TapUpDetails等,请按以下方式使用:

GestureDetector g = new GestureDetector(
    onTapDown: (details) 
    {
      print(details.globalPosition);
      print(details.localPosition);
    },
  );

请参阅:https://api.flutter.dev/flutter/gestures/TapUpDetails-class.html

答案 1 :(得分:0)

我做到了

 int index=i;

   _onImageTapped(index);

我得到了用户点击的图像索引。