求助一个Android的事件传递的问题

sandyisbusy 2016-02-22 10:57:12

页面大概是这样子的:



需求:把内部的ViewPager左右滑动取消,只点击顶部的Indicator切换页面,左右滑动时切换外部ViewPager的页面
但是问题来了:
思路1:当把内部ViewPager的onTouchEvent返回false,发现内部ViewPager左右滑动时还能滑动,只不过是一次只能滑动一点点
外部的ViewPager不能左右滑动

思路2:当判断为左右滑动时,内部ViewPager请求不中断事件,内部ViewPager是不能滑动了,但是滑动事件却在内部的ListView上 (ListView的条目处于按压状态)外部的ViewPager依然不能左右滑动

思路3:当判断为左右滑动时,把内部ViewPager的dispatchTouchEvent返回false,上下可以滑动,但是左右滑动时,事件又被内部的ListView消费了(ListVIew条目处于按压状态,抬起手指,条目的onClick事件触发)

现在,问题的关键是横向滑动时,ListView能消费事件,这就导致了事件不能再次向上传递,最终导致最外部的ViewPager不能滑动

求助,怎么在ViewPager中取消子view的响应事件,或者是怎么让ListView在横向move事件时不消费事件
...全文
103 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandyisbusy 2016-02-22
  • 打赏
  • 举报
回复
哎呀,思路被限制住了,一直在自定义内部的ViewPager的事件传递中思考了,应该自定义外部的ViewPager,因为控件只能控制自己需不需要控件,在外部ViewPager中判断横向滑动事件,中断掉就好了

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧