返回Android......登陆

Android开发中,如何有效解决ScrollView和ListView冲突

高洛峰2016-10-29 15:01:37582

这个很常见,比如出门左转打开企鹅,QQ聊天记录列表,纵滑翻过不同好记录,横滑删除记录。但两者并不冲突。


一句话概括核心思想:有一个方法,在当前view中获得ViewParent,并请求父容器(临时)不要拦截触摸事件,当某个触摸事件处理完后,再恢复父容器能拦截。

这个方法是(需要自己在子View中实现):

1673853169-57d9315027513_articlex.jpg

当然,接下来需要重写下listView中onTouchEvent()方法。

举个例子:如果子View要检测横滑,父容器检测纵滑,很分裂对吧?

解决方案是:

当子容器检测到横滑的时候,禁止本该要竖滑的父容器,等子容器的横滑事件结束,再恢复回来即可(反过来也成立)。




最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送