webview记录滚动位置,下次打开滚动到记录点
2017-08-01 13:23
2366 查看
网上看了挺多方法,自己都试了试发现不好用。
最后参考的是这篇文章。
http://blog.csdn.net/qiushi_1990/article/details/51849890
这篇文章某些情况下应该是可以获得正确结果的。这位博主用的 webview.getScrollY();存储和webview..scrollTo()方法。但是使用之后我的问题没有得到解决,我发现大部分时候直接都滚动到了底部。
我稍微滚动一点,再次进入后就滚动了很长一段距离。我看了下webview里的属性,onPageFinished()里的webview里scale值和离开的时候scale值并不相同。
so,这件事就很简单了,onPageFinished的时候页面缩放值和离开页面时的缩放值不同,导致了页面滚动距离并不正确。
因为getScale()这个方法已经过时了,可以在WebViewClient的监听里继承onScaleChanged方法。
webview.setWebViewClient(new WebViewClient() {
@Override
public void onScaleChanged(WebView view, float oldScale, float newScale) {
super.onScaleChanged(view, oldScale, newScale);
}
}
离开页面保存的记录点的时候,对比一下oldScale和newScale 。正确的移动距离= webview.getScrollY()/newScale*oldScale
回来的时候在设置移动距离,这次滚动的位置应该就是准确的了~
最后参考的是这篇文章。
http://blog.csdn.net/qiushi_1990/article/details/51849890
这篇文章某些情况下应该是可以获得正确结果的。这位博主用的 webview.getScrollY();存储和webview..scrollTo()方法。但是使用之后我的问题没有得到解决,我发现大部分时候直接都滚动到了底部。
我稍微滚动一点,再次进入后就滚动了很长一段距离。我看了下webview里的属性,onPageFinished()里的webview里scale值和离开的时候scale值并不相同。
so,这件事就很简单了,onPageFinished的时候页面缩放值和离开页面时的缩放值不同,导致了页面滚动距离并不正确。
因为getScale()这个方法已经过时了,可以在WebViewClient的监听里继承onScaleChanged方法。
webview.setWebViewClient(new WebViewClient() {
@Override
public void onScaleChanged(WebView view, float oldScale, float newScale) {
super.onScaleChanged(view, oldScale, newScale);
}
}
离开页面保存的记录点的时候,对比一下oldScale和newScale 。正确的移动距离= webview.getScrollY()/newScale*oldScale
回来的时候在设置移动距离,这次滚动的位置应该就是准确的了~
相关文章推荐
- Android-记录ListView的位置,让ListView下次直接滚动到记录的位置
- HorizontalScrollView的滚动到指定位置问题记录
- RecyclerView 记录恢复滚动位置
- Android4.2系统辅助功能打开时,加载WebView导致空指针异常解决记录
- [置顶] 微信文章webview记录上次访问位置的实现原理和代码,webview记录并定位到上次访问位置
- Android RecyclerView 记录恢复滚动位置
- 记录RecyclerView滚动位置并恢复
- Android Studio第三十一期 - 记录RecyclerView滚动位置并恢复
- webview打开微信支付,web view h5页面中调用小程序支付——小程序web-view高级用法11
- android webview内打开网址,不让跳浏览器
- iOS 开发法webview头部加个自定义view,这个view不是固定的而是要跟webview一起滚动
- IOS UIScrollView滚动到指定位置
- 记录Android webView 的一点点
- 错误:无法打开web项目”****“,文件路径“****”与url“**”不符。这两者要映射到相同的服务器位置。
- android 自定义TextView,内容指定位置滚动动画效果
- WKWebView打开itunes链接无法跳转至AppStore
- Android 记录和恢复ListView滚动的位置的方法
- ViewPager+Fragment添加一行若干小红球滚动指示器指示当前ViewPager翻阅位置(可供第三方使用的类)
- listview--记录ListView滚动停止位置与设置显示位置
- Webview 打开本地图片库兼容问题