我有一个建立在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
完整代码:
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 举报,一经查实,本站将立刻删除。