5

が到達できる最大スクロール位置を把握しようとしていますが、WebView試しましたwebView.pageDown(true)が、結果が遅れます(下にスクロールできず、ユーザーの前で上にスクロールできません。この方法は毎回機能しません)、iも試してみましたが、アラビア語のコンテンツwebView.getContentHeight()の高さが正しくありません。

ご意見をお聞かせください

4

3 に答える 3

16

わかりました、私は答えを理解しました

を使用して実際のコンテンツの高さを取得できます

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

実際の高さを取得したら、webviewのscrollメソッドをオーバーライドして、スクロールイベントをリッスンします。スクロールが実際の高さに達すると、Webビューはスクロールの下部に表示されます。

于 2012-05-30T06:28:59.150 に答える
7
@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);
    }
}

厳密性が必要なのは、Samsung S5で、一番下のスクロール値が一番下の値から1ピクセルだけ離れていることがわかったためです。

于 2015-01-05T16:01:42.873 に答える
-1

ウェブビューが下に到達/スクロールしたときにのみロード/表示ボタン。

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");
于 2014-12-17T10:59:36.440 に答える