有效的拦截ViewGroup事件传递

一、有时候会碰到这么一个有趣的现象,上层的ViewGroup把事件传递到下层的View,导致一些奇怪的bug。

比如:上层的ViewGroup遮挡到了下层的一个EidtText,而这个EidtText的事件是可以弹出一个键盘,当我们点击上层的ViewGroup中的某块区域恰好是下层View中的EditText导致弹出了一个软键盘 O(∩_∩)O哈哈~。

有效的拦截ViewGroup事件传递_第1张图片
有效的拦截ViewGroup事件传递_第2张图片

图1中的EditText事件是弹出图2中的键盘部分,图2中其实是有两个同样的键盘覆盖了,那么这就是一个bug了。

解决的方法很简单:在上层ViewGroup中设置一个OntouchListener的监听,同时将onTouch方法返回TRUE即可,意思就是拦截上层ViewGroup不往下层View中传递事件 O(∩_∩)O哈哈~。

随手写写~~

你可能感兴趣的:(有效的拦截ViewGroup事件传递)