滚动视图到达底端时如何执行操作?

时间:2017-11-15 03:24:43

标签: android scrollview

我有一个带有滚动视图和2个按钮的活动,当打开此活动时,两个按钮都被禁用。我想要的是,当我到达滚动视图的末尾时,启用两个按钮以便用户接受或拒绝内容。我怎么能以简单的方式做到这一点。

启用前按钮

image

提前致谢。

1 个答案:

答案 0 :(得分:2)

我用webView完成了这些事情,这里是我的代码,希望它能帮到你。

webView.setOnScrollChangedCallback(new ObservableWebView.OnScrollChangedCallback() {
                @Override
                public void onScroll(int l, int t) {
                    int tek = (int) Math.floor(webView.getContentHeight() * webView.getScale());

                    if (tek - webView.getScrollY() <= webView.getHeight() + 5) {
                        // enable your button 
                    }

                }
            });

这是班级

public class ObservableWebView extends WebView
{
    private OnScrollChangedCallback mOnScrollChangedCallback;
public ObservableWebView(final Context context)
{
    super(context);
}

public ObservableWebView(final Context context, final AttributeSet attrs)
{
    super(context, attrs);
}

public ObservableWebView(final Context context, final AttributeSet attrs, final int defStyle)
{
    super(context, attrs, defStyle);
}

@Override
protected void onScrollChanged(final int l, final int t, final int oldl, final int oldt)
{
    super.onScrollChanged(l, t, oldl, oldt);
    if(mOnScrollChangedCallback != null) mOnScrollChangedCallback.onScroll(l, t);
}

public OnScrollChangedCallback getOnScrollChangedCallback()
{
    return mOnScrollChangedCallback;
}

public void setOnScrollChangedCallback(final OnScrollChangedCallback onScrollChangedCallback)
{
    mOnScrollChangedCallback = onScrollChangedCallback;
}

/**
 * Impliment in the activity/fragment/view that you want to listen to the webview
 */
public static interface OnScrollChangedCallback
{
    public void onScroll(int l, int t);
}

}

快乐的编码。