android-cjj / Android-MaterialRefreshLayout

This is a drop-down control, it is more beautiful and powerful than SwipeRefreshLayout
2.11k stars 483 forks source link

建议把 dy 的触摸距离判断改成与 TouchSlop 比较而不是与0比较 #73

Open jiang111 opened 7 years ago

jiang111 commented 7 years ago

否则item 的点击事件太容易被你这个刷新控件拿去

byte-engine-chenxiaojian commented 7 years ago

大神 我也遇到了这个问题 请问是怎么解决的

jiang111 commented 7 years ago

我是直接把库下载下来自己改的,把 MaterialRefreshLayout 这个类的onInterceptTouchEvent 方法里的 if (dy > 0 && !canChildScrollUp()) {} 改成 if (dy > ViewConfiguration.getTouchSlop() && !canChildScrollUp()) {} 这样处理刷新操作,加载更多也可以这么改

byte-engine-chenxiaojian commented 7 years ago

谢谢 我下拉刷新没问题 只是下拉加载里边 点击item会被刷新回去到 dy < 0 && !canChildScrollDown() && isLoadMore 这个后边加上&&Math.abs(dy)>8 这样判断也可以屏蔽掉。谢谢大神提示了。

jiang111 commented 7 years ago

建议 >8 这样的判断还是把 8 改成用 ViewConfiguration.getTouchSlop() 比较好

Coffeeljn commented 7 years ago

太厉害了,解决了困扰我很久的问题,谢谢大神~~