gpt4 book ai didi

android - ViewPager 检测用户何时尝试滑出边界

转载 作者:IT老高 更新时间:2023-10-28 21:44:59 26 4
gpt4 key购买 nike

我正在使用由 6 个页面组成的 ViewPager 来显示一些数据。我希望能够在用户位于位置 0 并尝试向右滑动(向后)或在位置 5 并尝试向左滑动(向前)时调用方法,即使这些页面不存在方向。有什么方法可以监听这些场景吗?

最佳答案

扩展 ViewPager 并像这样覆盖 onInterceptTouchEvent():

public class CustomViewPager extends ViewPager {

float mStartDragX;
OnSwipeOutListener mListener;


public void setOnSwipeOutListener(OnSwipeOutListener listener) {
mListener = listener;
}


@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
float x = ev.getX();
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
mStartDragX = x;
break;
case MotionEvent.ACTION_MOVE:
if (mStartDragX < x && getCurrentItem() == 0) {
mListener.onSwipeOutAtStart();
} else if (mStartDragX > x && getCurrentItem() == getAdapter().getCount() - 1) {
mListener.onSwipeOutAtEnd();
}
break;
}
return super.onInterceptTouchEvent(ev);
}

public interface OnSwipeOutListener {
public void onSwipeOutAtStart();
public void onSwipeOutAtEnd();
}

}

关于android - ViewPager 检测用户何时尝试滑出边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13346824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com