自定义Scrollview ,重写onOverScrolled,定义滑动到底部或顶部监听。在用的时候set监听即可。
public class CustomScrollView extends ScrollView { private boolean isScrolledToTop = true;// 初始化的时候设置一下值 private boolean isScrolledToBottom = false; public CustomScrollView(Context context) { super(context); } public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public CustomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public interface ScrollViewListener { void onScrolledToBottom(); void onScrolledToTop(); } private ScrollViewListener mScrollViewListener; public void setScanScrollChangedListener(ScrollViewListener ScrollViewListener) { mScrollViewListener = ScrollViewListener; } @Override protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) { super.onOverScrolled(scrollX, scrollY, clampedX, clampedY); if (scrollY <= 0) { isScrolledToTop = clampedY; isScrolledToBottom = false; } else { isScrolledToTop = false; isScrolledToBottom = clampedY; } notifyScrollChangedListeners(); } private void notifyScrollChangedListeners() { if (isScrolledToTop) { if (mScrollViewListener != null) { mScrollViewListener.onScrolledToTop(); } } else if (isScrolledToBottom) { if (mScrollViewListener != null) { mScrollViewListener.onScrolledToBottom(); } } } }