我正在尝试在RecyclerView
项内实现水平滚动。除了一个问题,一切都正常。当垂直RecyclerView
s位于最高位置(包裹在SwipeRefreshLayout
中)并且用户水平开始拖动时,然后向下移动手指时,它将开始SwipeToRefresh手势(小圆圈开始出现)。我已经尝试使用requestDisallowInterceptTouchEvent(true)
,就像它在here中所描述的那样,但这无济于事。所以我发现SwipeRefreshLayout
不尊重requestDisallowInterceptTouchEvent()
方法。如您所见,here会阻止ViewGroup
的行为:
@Override
public void requestDisallowInterceptTouchEvent(boolean b) {
// Nope.
}
是否可以将其更改为调用
super.requestDisallowInterceptTouchEvent(b)
?例如使用反射API?附言它不是扩展区SwipeRefreshLayout和override方法那样简单,因为它位于第三部分库中。
最佳答案
您可以暂时禁用它。
mPullToRefreshLayout.setEnabled(false);
关于android - SwipeToRefresh不遵守Android中的requestDisallowInterceptTouchEvent(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30058898/