如何获取WebView的最后一个滚动位置

时间:2017-07-14 12:41:01

标签: java android html css webview

我正在使用WebView来显示长静态帖子。所以我需要保存用户正在阅读的最后位置并稍后恢复该位置。

我该怎么做?

我试图获得WebView的滚动位置百分比,但getScrollY()返回0

我覆盖了WebView的onScrollChange()方法,但是当我滚动页面时,似乎没有调用onScrollChange()方法。

我的HTML示例代码:

<html>
   <head>
   <style>
   someStyle ... no position style here
   }</style>
   </head>
   <body>
   <div><html>
    <head></head> 
    <body> 
     <table> 
      <tbody> 
       <tr> 
        <td> 
          <p align="left"><font size="1" color="#FF0000">[</font></p> <p align="left" style="line-height: 130%"><font>someText</font></p> 
       </tr> 
      </tbody> 
     </table>  
    </body>
   </html>
   </html>

my get Percentage方法:

 private float calculateProgression(WebView content) {
    float positionTopView = content.getTop();
    float contentHeight = content.getContentHeight();
    float currentScrollPosition = content.getScrollY();
    float percentWebview = (currentScrollPosition - positionTopView) / contentHeight;
    return percentWebview;
}

1 个答案:

答案 0 :(得分:0)

尝试使用此方法listView.getFirstVisiblePosition();如果你想要滚动listView内容多远。