我正在使用以下代码在网络视图中显示图像:
final WebView web = (WebView) findViewById(R.id.webView);
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
web.getSettings().setPluginsEnabled(false);
web.getSettings().setSupportMultipleWindows(false);
web.getSettings().setSavePassword(false);
web.getSettings().setBuiltInZoomControls(true);
web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
web.getSettings().setUseWideViewPort(true);
web.getSettings().setLoadWithOverviewMode(true);
String url = extras.getString("url");
String x = "<html><head><meta name=\"viewport\" content=\"width=device-width\"/><style type=\"text/css\">html, body {margin: 0;padding: 0;} img {border: none;}</style><head><body style=\"background: black;\"><table><tr><td align=\"center\"><img src=\"" + url + "\" /></td></tr></table></body></html>";
web.loadDataWithBaseURL(null, x, "text/html", "utf-8", null);
根据手册,它应该在概览模式下启动,所以应该最大限度地缩小(这就是我想要做的)。不幸的是,图像被放大了。我怎样才能修好它?
最佳答案
我认为这里发生的事情是width=device-width
显示的视窗应该是480像素宽(或者设备是什么)。因此,一个比这更宽的图像将部分离开屏幕,需要滚动。
如果你想让页面以概览模式打开,我认为你应该在创建webview时设置它,而不是指定任何viewport
。