【发布时间】:2014-01-08 14:14:51
【问题描述】:
我的是一个原生应用程序,如果用户滚动到 webview 的末尾,我想在其中显示/隐藏一个按钮。我查看了一个答案here,并完全了解了如何通过接口注册回调。我的主要问题是我无法在 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);
}
需要帮助。谢谢。
【问题讨论】: