Mine是一个本地应用,我想在用户滚动到webview的末尾时显示/隐藏按钮。我看了一个答案这里,得到了如何通过接口注册回调的整个思路。我的主要问题是我无法在onScrollChanged方法内正确计算。我尝试了getHeight()、getContentHeight()、top等多种组合,但似乎它触发得太早了。我尝试了像Google这样相对较少内容的简单页面以及新闻页面。
这些逻辑对于正常的滚动视图工作得很好。由于网页有很多内容,可能会搞砸计算。粘贴一段示例代码:不起作用。
@Override
protected void onScrollChanged(int left, int top, int oldLeft, int oldTop) {
if ( mOnWebViewBottomReachedListener != null ) {
//if ( (getContentHeight() - (top + getHeight())) <= mMinDistance )
int diff = (getBottom() - (getHeight() + getScrollY()));
Log.e("values ", diff+" o");
if ((int) Math.floor(getContentHeight() * getScaleY()) == top)
mOnWebViewBottomReachedListener.onBottomReached(this);
}
super.onScrollChanged(left, top, oldLeft, oldTop);
}
需要帮助。谢谢。