作者:老帥
問題描述: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>實作自動換行。