2011-11-17 2 views
0

Je souhaite arrêter le défilement à la fin du document. J'ai essayé le code suivant:Android WebView: Comment faire défiler jusqu'à la fin du document?

if (_webView.getScrollY() + _webView.getHeight() > _webView.getContentHeight()) 
    _webView.scrollTo(0, _webView.getContentHeight() - _webView.getHeight()); 

Cependant, d'après mon observation des pages Web différentes, il arrête la plupart du temps à environ 2/3 du contenu, et ne peut pas aller à la fin du document.

Je me demande si les trois fonctions impliquées utilisent des unités différentes. Basé sur le document android, getScrollY et getHeight sont en pixels, mais getContentHeight renvoie "la hauteur du contenu HTML". Alors, quelle est l'unité de getContentHeight()? Ou ai-je oublié autre chose?

Répondre

7

D'accord, je l'ai compris moi-même. getContentHeight() doit être mis à l'échelle avec getScale(), alors cela fonctionne.

+0

Merci, cherchait cela depuis un certain temps :). Aussi utile pour mesurer à quel point un utilisateur a défilé dans une page. – dom

+0

Vous êtes un épargnant de vie! –

+0

s'il vous plaît écrire le code complété à l'intérieur de la méthode onScroll qui vous donne et l'indication de la fin de la page ............ –

Questions connexes