android – WebView中的缩放比例不正确

前端之家收集整理的这篇文章主要介绍了android – WebView中的缩放比例不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个建立在PrimeFaces之上的网站.我的问题是WebView上的内容和图像看起来比Chrome上的要大.我应该怎么做才能使WebView上的渲染与Chrome的渲染相同?

扩展似乎没有帮助,因为该网站具有响应式设计.我也尝试过wrap_content而不是fill_parent但没有成功.

更新1:
以下内容无效.我已将它们从下面的代码中排除,以保持最小化.

> WebViewClient
> ChromeViewClient
> setLoadWithOverviewmode(true)
> setUseWideViewPort(true)

更新2:
setInitialScale()无效.

MyActivity.java

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webView = (WebView) findViewById(R.id.web_engine);
    webView.setWebViewClient(new WebViewClient());
    webView.getSettings().setJavaScriptEnabled(true);
    if (savedInstanceState == null) {
        webView.loadUrl("http://www.primefaces.org/showcase/mobile/index.xhtml");
    }
}

main.xml中

<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
            a:layout_width="fill_parent"
            a:layout_height="fill_parent"
            a:background="#ffffff"
            a:orientation="vertical" >

<WebView a:id="@+id/web_engine"
         a:layout_width="fill_parent"
         a:layout_height="fill_parent"
/>

解决方法

尝试:
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
webView.getSettings().setSupportZoom(true);

这里提到:http://developer.android.com/guide/webapps/migrating.html

更具体地说:http://developer.android.com/reference/android/webkit/WebSettings.LayoutAlgorithm.html#TEXT_AUTOSIZING

完整代码

mWebView = (WebView) mLayoutMain.findViewById(R.id.webview_main);
mWebView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view,String url) {
        view.loadUrl(url);
        return false;
    }
});
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewmode(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
mWebView.getSettings().setSupportZoom(true);
mWebView.loadUrl("http://www.primefaces.org/showcase/mobile/index.xhtml");

猜你在找的Android相关文章