我的是一个本地应用程序,如果用户滚动到 webview 的末尾,我想在其中显示/隐藏一个按钮。我在 这里 查看了一个答案,并了解了如何通过接口注册回调的全部想法。我的主要问题是我无法在 onScrollChanged 方法中进行正确的计算。我已经尝试组合使用 getHeight()、getContentHeight()、top 等,但它似乎触发得太早了。我尝试了一个像谷歌这样内容相对较少的简单页面以及一个新闻页面。
这些逻辑适用于普通滚动视图。由于网页内容很多,可能会打乱计算。粘贴示例代码:不起作用。
@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);
}
需要帮助。谢谢。
原文由 Rajat Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
此逻辑适用于网络视图。