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

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

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

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

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

更新2:
setInitialScale()无效.

MyActivity.java

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

main.xml中

  1. <RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
  2. a:layout_width="fill_parent"
  3. a:layout_height="fill_parent"
  4. a:background="#ffffff"
  5. a:orientation="vertical" >
  6.  
  7. <WebView a:id="@+id/web_engine"
  8. a:layout_width="fill_parent"
  9. a:layout_height="fill_parent"
  10. />

解决方法

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

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

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

完整代码

  1. mWebView = (WebView) mLayoutMain.findViewById(R.id.webview_main);
  2. mWebView.setWebViewClient(new WebViewClient(){
  3. @Override
  4. public boolean shouldOverrideUrlLoading(WebView view,String url) {
  5. view.loadUrl(url);
  6. return false;
  7. }
  8. });
  9. mWebView.getSettings().setJavaScriptEnabled(true);
  10. mWebView.getSettings().setUseWideViewPort(true);
  11. mWebView.getSettings().setLoadWithOverviewmode(true);
  12. mWebView.getSettings().setBuiltInZoomControls(true);
  13. mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
  14. mWebView.getSettings().setSupportZoom(true);
  15. mWebView.loadUrl("http://www.primefaces.org/showcase/mobile/index.xhtml");

猜你在找的Android相关文章