天天看點

WebView無法放大縮小解決方案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>實作自動換行。

繼續閱讀