美文网首页
flutter用GestureDetector实现点击事件时,空

flutter用GestureDetector实现点击事件时,空

作者: 我叫乔小乔 | 来源:发表于2020-07-29 11:28 被阅读0次

    今天遇到一个问题,自定义列表的行,点击事件用GestureDetector包裹的Container,加了一些其他的控件,但是当我点击条目时,发现只有点击文字或者图片的区域才能响应点击事件,其他区域捕捉不到onTap。

    查了一下发现GestureDetector有个behavior属性,点进去,看一下,包括这三种模式


    image.png

    翻译一下就是:

    当behavior选择deferToChild时,只有当前容器中的child被点击时才会响应点击事件;

    当behavior选择opaque时,点击整个区域都会响应点击事件,但是点击事件不可穿透向下传递,注释翻译:阻止视觉上位于其后方的目标接收事件,所以我需要的这种效果直接将behavior设置为HitTestBehavior.opaque就可以了;

    当behavior选择translucent时,同样是点击整个区域都会响应点击事件,和opaque的区别是点击事件是否可以向下传递,注释翻译:半透明目标既可以在其范围内接受事件,也可以允许视觉上位于其后方的目标接收事件。

    简单来说这就是三种模式的区别了,具体使用场景还需要继续探索啦~

    相关文章

      网友评论

          本文标题:flutter用GestureDetector实现点击事件时,空

          本文链接:https://www.haomeiwen.com/subject/ilrhrktx.html