检测是否网页视图滚动到达终点(Detect if Webview scroll reach the

2019-07-29 14:49发布

我试图找出最大滚动位置的WebView可以达到的,我已经试过webView.pageDown(true)但结果被延迟(我不能滚动下来,然后向上用户的盈方,而这个方法没有按”将不起作用每次),我试过也webView.getContentHeight()和高度不是阿拉伯语的内容是正确的。

请指教

Answer 1:

好吧,我想出答案

你可以使用得到真正的内容高度

(INT)Math.floor(webView.getContentHeight()* webView.getScale());

当你真正的高度,那么就重写滚动方法的WebView听滚动事件,如果滚动达到真正的高度,网页视图是滚动的底部。



Answer 2:

@Override
public void onScroll(int l, int t) {
    int height = (int) Math.floor(webView.getContentHeight() * webView.getScale());
    int webViewHeight = webView.getHeight();
    int cutoff = height - webViewHeight - 10; // Don't be too strict on the cutoff point
    if (t >= cutoff) {
        setDisclaimerButtonEnabled(true);
    }
}

非严格要求,是因为我对三星S5发现最下方滚动值仅为1个像素值远离底部最大价值!



Answer 3:

加载/可见按钮仅在网页流量达到/滚动至底部。

创建JavaScript类:

public class JavaScriptInterface {

  @android.webkit.JavascriptInterface
  public void didScrollToBottom() {
    Log.d(TAG, "Scroll to Bottom");
    myHandler.post(new Runnable() {
      @Override
      public void run() {
         btnAccept.setVisibility(View.VISIBLE);

          }
       });
      }
    }

在的onCreate():

final JavaScriptInterface jsInterface = new JavaScriptInterface();
myWebView.addJavascriptInterface(jsInterface, "AndroidFunction");


文章来源: Detect if Webview scroll reach the end