Android手势拦补点

一、 前言

在Android日常开发中,我们时有处理业务中手势的需求,即:基于事件的拦截、分发、消费三个回调,判断手势逻辑。

我们知道,当一个View消费了ACTION_DOWN事件,才可以接受到后续的事件,反之无法收到后续事件。那么如果一个View消费了事件后,判断为自己不需要的事件,又想将事件重新传递给子View处理怎么办呢?

这就引出了本文的要点——手势拦补点操作,以Android Q为例,进行介绍。


二、 拦点

1. 什么是拦点

拦点,即拦截触摸事件点位,不让事件向下传递。这并非我们常规的onInterceptTouchEvent方法中返回一个true来实现拦截这么简单,而是宏观上的以应用或窗口为单位的拦截,比如Android Q开始原生支持的手势交互。


2. 为什么拦点

以OPPO手机ColorOS 7为例,在设置-便捷辅助-导航键中选择两侧滑动手势,打开一个应用,我们在屏幕两侧偏下的边缘,向内滑动,可以触发手势操作:

在这里插入图片描述

而在这个位置点击,如果对应位置有按钮之类的控件(比如设置页的Prefer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值