正常获取:

mainWebView.getContentHeight()//获取html高度

mainWebView.getScale()//手机上网页缩放比例

mainWebView.getHeight()//WebView控件的高度

mainWebView.getContentHeight() * mainWebView.getScale()//得到的是网页在手机上真实的高度

mainWebView.getContentHeight() * mainWebView.getScale()-mainWebView.getHeight()//减去webview控件的高度得到的是网页上下可滚动的范围

mWebViewTotalHeight = mainWebView.getContentHeight() * mainWebView.getScale() - mainWebView.getHeight();

如果WebView是嵌套在ScrollView里:

mainWebView.getHeight()//此时WebView控件的高度 == 网页内容真实的高度,因为webview嵌套在ScrollView里,WebView的控件高度会根据网页内容自动改变

mScrollView.getHeight()//ScrollView控件的高度

mWebViewTotalHeight = mainWebView.getHeight() - mScrollView.getHeight();

总结:要获取WebView上下滚动的范围,首先要得到网页内容真实的高度,然后减去外层容器的高度

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐