flutter 事件分发与拦截

简介: flutter 事件分发与拦截

flutter常用的事件拦截组件

  • InkWell
  • GestureDetector
  • RaisedButton、FlatButton、 IconButton、OutlineButton等

如下图是stack布局,B区域在A区域上面

image.png

正常点击B区域会打印B,点击A区域打印A,这时如果需要点击B区域需要A区域拦截事件,需要怎么办呢?

使用IgnorePointer忽略B区域的拦截事件即可:

Widget _testview() {
    return Stack(
      children: [
        InkWell(
          onTap: () {
            print("点击A");
          },
          child: Container(
            width: 200,
            height: 200,
            color: Colors.amber,
            alignment: Alignment.center,
            child: const Text('A'),
          ),
        ),
        IgnorePointer(
          ignoring: true,
          child: InkWell(
              onTap: () {
                print("点击B");
              },
              child: Container(
                width: 100,
                height: 60,
                color: Colors.red,
                alignment: Alignment.center,
                child: const Text('B'),
              )),
        ),
      ],
    );
  }

同理还有一个拦截组件AbsorbPointer。不过AbsorbPointer是吸收拦截,absorbing 为true时,拦截其子view的监听。

相关文章
|
5月前
|
传感器 Android开发 iOS开发
Flutter插件开发指南02: 事件订阅 EventChannel
上一节我们讲了 Channel 通道,但是如果你是卫星定位业务,原生端主动推消息给 Flutter 这时候就要用到 EventChannel 通道了。 本节会写一个 1~50 的计数器,到 50 后自动关闭原生的消息订阅。
133 1
Flutter插件开发指南02:  事件订阅 EventChannel
|
Android开发
Flutter(十三)——事件处理:手势识别与事件通知
Flutter(十三)——事件处理:手势识别与事件通知
331 2
Flutter(十三)——事件处理:手势识别与事件通知
|
Dart JavaScript
Flutter | 事件处理(下)
Flutter | 事件处理(下)
Flutter | 事件处理(下)
|
API 容器
Flutter | 事件处理(上)
Flutter | 事件处理(上)
Flutter | 事件处理(上)
flutter事件evevt详解
在Flutter中,手势有两个不同的层次: 第一层:原始指针事件(Pointer Events):描述了屏幕上由触摸板、鼠标、指示笔等触发的指针的位置和移动。 第二层:手势识别(Gesture Detector):这个是在原始事件上的一种封装。
180 0
Flutter中焦点FocusNode使用分析Flutter输入框焦点事件的捕捉与监听
在Flutter使用FocusNode来捕捉监听TextField的焦点获取与失去,同时也可通过FocusNode来使用绑定对应的TextField获取焦点与失去焦点。
Flutter中焦点FocusNode使用分析Flutter输入框焦点事件的捕捉与监听
|
4月前
|
开发框架 前端开发 测试技术
Flutter开发常见问题解答
Flutter开发常见问题解答
|
5天前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
22 7
|
23天前
|
JSON Dart Java
flutter开发多端平台应用的探索
flutter开发多端平台应用的探索
27 6
|
23天前
|
JSON Dart Java
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
下一篇
无影云桌面