abstract:这个很常见,比如出门左转打开企鹅,QQ聊天记录列表,纵滑翻过不同好记录,横滑删除记录。但两者并不冲突。一句话概括核心思想:有一个方法,在当前view中获得ViewParent,并请求父容器(临时)不要拦截触摸事件,当某个触摸事件处理完后,再恢复父容器能拦截。这个方法是(需要自己在子View中实现):当然,接下来需要重写下listView中onTouchEvent()方法。举个例子:如果子View要
这个很常见,比如出门左转打开企鹅,QQ聊天记录列表,纵滑翻过不同好记录,横滑删除记录。但两者并不冲突。
一句话概括核心思想:有一个方法,在当前view中获得ViewParent,并请求父容器(临时)不要拦截触摸事件,当某个触摸事件处理完后,再恢复父容器能拦截。
这个方法是(需要自己在子View中实现):
当然,接下来需要重写下listView中onTouchEvent()方法。
举个例子:如果子View要检测横滑,父容器检测纵滑,很分裂对吧?
解决方案是:
当子容器检测到横滑的时候,禁止本该要竖滑的父容器,等子容器的横滑事件结束,再恢复回来即可(反过来也成立)。