美文网首页
ScrollView监听滑动到顶部,底部

ScrollView监听滑动到顶部,底部

作者: heyzhuyue | 来源:发表于2017-05-11 15:32 被阅读218次
public class ObservableScrollView extends ScrollView {

    private OnScrolldListener mOnScrolldListener;

    public ObservableScrollView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    public ObservableScrollView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    public ObservableScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        // TODO Auto-generated method stub
        View view = (View) getChildAt(getChildCount() - 1);
        int diff = (view.getBottom() - (getHeight() + getScrollY()));

        if (diff == 0 && mOnScrolldListener != null) {
            mOnScrolldListener.onBottomReached();
        } else if (getScrollY() == 0 && mOnScrolldListener != null) {
            mOnScrolldListener.onTopReached();
        }

        super.onScrollChanged(l, t, oldl, oldt);
    }
    

    public OnScrolldListener getOnScrolldListener() {
        return mOnScrolldListener;
    }

    public void setOnScrolldListener(OnScrolldListener mOnScrolldListener) {
        this.mOnScrolldListener = mOnScrolldListener;
    }



    /**
     * Event listener.
     */
    public interface OnScrolldListener {

        public void onTopReached();

        public void onBottomReached();
    }

}

相关文章

网友评论

      本文标题:ScrollView监听滑动到顶部,底部

      本文链接:https://www.haomeiwen.com/subject/lgbotxtx.html