1
  • 最佳答案

    onInterceptTouchEvent即使返回false或者super,就会把事件给到子view了。如果子view的dispatchTouchEvent方法返回false,才会给到onTouchEvent,如果子view的dispatchTouchEvent返回true,则消费掉,如果是super则由子view的onTouchEvent处理。


    你这里说因为返回了false,而mDownX是老的值,不是下手的地方,这个问题可以解决的。在onInterceptTouchEvent方法的down的时候获取值吧。

    1153952789488054272  评论     打赏       拉大锯
    • 燃烧的腿毛  回复 @拉大锯
      哦哦,酱样子啊。事件分发那块我老是搞不懂,老是混淆概念。嗯嗯,我在onInterceptTouchEvent方法的ACTION_DOWN里面取值吧。
      燃烧的腿毛 2020-08-16 22:12   回复 1249631682693173248
    • 拉大锯  回复 @燃烧的腿毛
      嗯,不用记,就那么几个值,遇到问题的时候,看看API文档或者看看文章即可。
      拉大锯 2020-08-16 22:26   回复 1153952789488054272
相关问题
_七月流火 · Android / 自定义View
2020-03-26 20:02 447 5
资质平平 · 自定义View
2022-07-27 13:40 82 10
幻影~ · 提问
2024-04-13 20:13 7 2
幻影~ · 找工作
2024-04-07 10:44 12 2
幻影~ · 问题
2024-03-31 17:20 7 2
TONYGFX · AOSP
2024-03-28 17:11 4 2