我正在使用以下代码在网络视图中显示图像:

    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

10-02 05:50
查看更多