WebView无法放大缩小解决方案
问题描述:Android下的WebView可以加载并显示本地或者网上的网页,并提供手势放大缩小功能,本来该功能实现起来很容易,但在我们更换了不同厂商的硬件平板电脑以后,ROM由Android4.0变成了Android4.1,放大功能出现了异常,通过手势放大网页以后,自动缩小回了原来的尺寸,无法保持放大状态。如何解决这个问题呢?
先看看我们之前所写的代码
1) 添加权限:AndroidManifest.xml中必须使用了许可"android.permission.INTERNET"
2) 使用了一个WebView组件
<WebView
android:id="@+id/wv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"
/>
3) 设置WebView基本信息:
wvCon= (WebView) layout.findViewById(R.id.wv);
WebSettingsws = wvCon.getSettings();
ws.setSupportZoom(true);
ws.setBuiltInZoomControls(true);
4)设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.jiankeyan.com");
本地文件用:webView.loadUrl("file://android_asset/XX.html");
我们的解决方法是:
//无限缩放
webView.getSettings().setUseWideViewPort(true);设置此属性,可任意比例缩放。
注:1、初始缩放值可这样设置:webView.setInitialScale(initalValue);
2、缩放后,要使内容适配屏幕,不超出屏幕外显示,实现换行。这方面效果应该由html控制,而不是webview控制。例如<p style="word-break:break-all">test</p>实现自动换行。