Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android如何处理子视图中触摸点的转换?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
旋转子视图时,Android如何处理从父视图到子视图的触摸点映射?

接触点是否在某个时刻进行了转换?如果是的话,在哪里?

我知道ViewGroups有以下方法
dispatchTouchEvent()
onInterceptTouchEvent()
的onTouchEvent()
等等

是其中一个负责在父视图中获取触摸点并将其转换为子视图的本地坐标空间?

我尝试查看源代码,但无法真正理解所有的交互.

@L_772_5@

所有这些都是在dispatchTouchEvent方法中执行的.

> ViewGroup通过它迭代子项
>为每个子项创建传递给dispatchTouchEvent MotionEvent的新副本(从池中获取更精确).请参见MotionEvent.obtain(MotionEvent)
>使用子项的顶部和左侧位置偏移新创建的MotionEvent的位置(请参阅getTop和getLeft方法).
>使用MotionEvent#transform方法应用变换(通过从子进行逆变换矩阵)
>最后,它将MotionEvent调度给子节点(如果此子节点也是ViewGroup,请参阅pt.1)
>它回收以前获得的MotionEvent(参见MotionEvent #cyclE)

是的,正如Delyan所提到的 – 转换仅适用于Honeycomb和更新版本的Android.在旧版本上,只执行偏移.

大佬总结

以上是大佬教程为你收集整理的Android如何处理子视图中触摸点的转换?全部内容,希望文章能够帮你解决Android如何处理子视图中触摸点的转换?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。