flutter 使用GestureDetector点击没有反应

正常使用是

 
GestureDetector(
   onTap: () {
   },
   child: Text("demo"),
),

但有时候点击之后没有反应,原因:点击部分处于空白区域,没有接收到点击事件;

deferToChild
 
只有当前容器中的child被点击时才会响应点击事件。
opaque点击整个区域都会响应点击事件,但是点击事件不可穿透向下传递,注释翻译:阻止视觉上位于其后方的目标接收事件。
translucent同样是点击整个区域都会响应点击事件,和opaque的区别是点击事件是否可以向下传递,注释翻译:半透明目标既可以在其范围内接受事件,也可以允许视觉上位于其后方的目标接收事件。

 

解决方法:

 
GestureDetector(
   behavior: HitTestBehavior.opaque,
   onTap: () {
   },
   child: Text("demo"),
),

 


版权声明:本文为sinat_17775997原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。