如何在 SwipeRefreshLayout 中设置增量
How to set delta in SwipeRefreshLayout
我的应用程序出现小错误。
这是我的应用结构:
当我开始滚动以移动到 ViewPager
中的下一页时 SwipeToRefreshLayout
卡住了我的滑动,我无法更改页面。
如何为 SwipeRefreshLayout
设置增量?
我通过扩展 SwipeRefreshLayout
并禁止像下面这样拦截水平滚动来解决它。这是我在 Whosebug 某处找到的修改后的代码。
public class PullToRefresh extends SwipeRefreshLayout {
private final int mTouchSlop;
private float mTouchDownX;
public PullToRefresh(Context context, AttributeSet attrs) {
super(context, attrs);
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTouchDownX = event.getX();
break;
case MotionEvent.ACTION_MOVE:
if (Math.abs(event.getX() - mTouchDownX) > mTouchSlop) {
return false;
}
break;
}
return super.onInterceptTouchEvent(event);
}
}
我的应用程序出现小错误。
这是我的应用结构:
当我开始滚动以移动到 ViewPager
中的下一页时 SwipeToRefreshLayout
卡住了我的滑动,我无法更改页面。
如何为 SwipeRefreshLayout
设置增量?
我通过扩展 SwipeRefreshLayout
并禁止像下面这样拦截水平滚动来解决它。这是我在 Whosebug 某处找到的修改后的代码。
public class PullToRefresh extends SwipeRefreshLayout {
private final int mTouchSlop;
private float mTouchDownX;
public PullToRefresh(Context context, AttributeSet attrs) {
super(context, attrs);
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTouchDownX = event.getX();
break;
case MotionEvent.ACTION_MOVE:
if (Math.abs(event.getX() - mTouchDownX) > mTouchSlop) {
return false;
}
break;
}
return super.onInterceptTouchEvent(event);
}
}