[BUG]Layout里按钮元素弹起状态有误

S.H.I.E.L.D
Thu, 23 Jun 2016 03:45:50 +0000

以下是个人见解，不保证其正确性，仅供参考

粘贴的图像696×756 58.8 KB

这是scrollView的事件回调，可以看到scrollView的onTouchBegan是没有阻止事件传递的，所以你的button能响应touchBegan事件

但是如果你滑动了scrollView，就会触发scrollView的onTouchMoved，这个时候事件会被scrollView阻止，所以你的button接收不到moved事件

最重要的，也就是你问题的原因所在,onTouchEnded里判断有没有touchMove，

而有没有touchMove又是在onTouchMoved里的这个语句决定的

这里的意思就是，如果你的move距离超过7，touchMoved就为true，而onTouchEnded回调里又有这样的判断

也就是说你有过move的话，ended事件就会被阻止传递，你的button就接收不到ended事件，所以一直在pressed状态

但是这里还有个小问题，如果你滑动速度很慢的话，不管滑动距离多远，都没问题，如果你滑动的很快的话，超过7的距离，就会出现这个问题，所以还是需要官方大神来解决 @zilong

阅读整个主题