滑动冲突的解决方案

滑动冲突是一件恶心的事情,那么我们需要干掉他。

滑动冲突说到底是由view嵌套引起的,外层能滑动,内层也能滑动,来了个滑动事件到底听谁的?so让我们来了解解决方案:

要想搞明白滑动冲突的产生原因,需了解Android事件传递机制,在之前的博文里有过介绍,我简单唠叨几句:上级分发给下级,下级处理完上报给上级。

举个栗子:

 外层一个view可左右拖动,内层一个View ,也可左右拖动,不设置的时候Android默认都有效,然而这不是我们想要的。so,

1外拦:在外层收到事件的时候,如果事件的发生点在内层veiw的显示区域中,就交由子view进行处理。同时子view处理完了之后也不要上报了,上报了外层view还要接着处理。 

2 内拦: 内拦是个比较被动的拦截方法,是受到上层传过来的事件之后直接处理不上报,这样外层view就不用处理了。但万一你的外层view拦截了事件,那内拦就是个摆设。,

只要对事件拦截机制有所了解,就能理解滑动冲突的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值