微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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");

原文地址:https://www.jb51.cc/android/310169.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐