美文网首页
Flutter随手记:GestureDetector实现点击事件

Flutter随手记:GestureDetector实现点击事件

作者: 神经骚栋 | 来源:发表于2020-07-10 12:50 被阅读0次

    作为一个Flutter小白,需要写点随手笔记,来增加熟练度。

    正题


    上面的这个问题是当 GestureDetector 中添加了 Container组件,Container组件里面的图片并没完全占满所有的空间,这时候点击空白区域,事件不能响应。

            GestureDetector(
              child: Container(
                width: ThemeSize.NavigationHeight,
                height: ThemeSize.NavigationHeight,
                child: Center(
                  child: Image.asset(
                    ImagePath.commonPath + "common_return_icon.png",
                    fit: BoxFit.fitWidth,
                    width: 10,
                    height: 32,
                  ),
                ),
              ),
              onTap: () {
                Navigator.of(context).pop();
              },
            ),
    

    正解是 GestureDetector 的 behavior 需要设置。可设置的值是一个枚举一共有三个值,根据情况,我使用的是 *opaque。具体如下所示。

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



    参考博客

    相关文章

      网友评论

          本文标题:Flutter随手记:GestureDetector实现点击事件

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