【发布时间】:2026-01-06 12:55:02
【问题描述】:
我在我的应用程序中实现了新的SwipeRefreshLayout 组件,它适用于任何垂直视图,例如ListView、GridView 和ScrollView。
它在水平视图中表现得非常糟糕,例如HorizontalScrollView。
当向右或向左滚动时,SwipeRefreshLayout 视图缓存触摸,阻止 HorizontalScrollView 接收并开始垂直滚动以执行刷新。
我尝试解决这个问题,因为我之前使用requestDisallowInterceptTouchEvent 解决了垂直ScrollView 和ViewPager 内部的问题,但它不起作用。我还注意到这个方法在原始的SwipeRefreshLayout 类中被覆盖,而没有返回超值。谷歌的开发者留下了评论“//Nope.”:)
因为SwipeRefreshLayout 组件相对较新,我找不到解决水平滚动问题同时仍允许滑动刷新视图以跟踪和处理垂直滚动的解决方案,所以我想我会带着希望分享我的解决方案它会节省某人一两个小时。
【问题讨论】:
-
这个问题似乎在 1.2.0-alpha01 中得到修复
标签: android horizontalscrollview swiperefreshlayout