一个能让普通View轻松实现嵌套滚动的控件
出处:
mp.weixin.qq.com
作者:
李忠义
在Android的事件分发机制当中,在同一个事件流中,如果由父控件拦截/消费了,那么子控件就没办法再获取到该事件流。这种传统的事件分发机制在嵌套滚动时会有明显不足,就是子控件无法消费父控件没有消费掉的滑动距离(因为起初是父控件接收了滑动事件,那么在同一个事件流中,所有事件都会给到父控件,子控件接收不到事件,也就无法滑动),从而造成嵌套滚动的不连贯(如果想滑动子控件就只能抬起手指结束本次事件流,并在下一次事件中滑动子控件)。使用嵌套滚动机制可以有效的解决上面的问题。它并没有改变事件分发机制,在发生嵌套滚动时,还是先进行事件分发,由父View将事件分发给子View,由子View进行消费。