Android Webview:屏幕太大的图像

Posted

技术标签:

【中文标题】Android Webview:屏幕太大的图像【英文标题】:Android Webview: Images that are too large for the screen 【发布时间】:2011-12-10 06:58:14 【问题描述】:

我正在寻找一种方法让图像出现在最初适合屏幕的 WebView 中,而不是显示实际大小。有没有办法做到这一点?

如果:

1) 我打开一个带有图像的 img 标签的 html 文件

2)我直接打开图片文件

感谢您的帮助。

【问题讨论】:

我已经尝试过***.com/questions/3099344/…这里提出的解决方案,效果很好。 【参考方案1】:

我最终使用了:

     mWebView.getSettings().setLoadWithOverviewMode(true);
     mWebView.getSettings().setUseWideViewPort(true);

使页面内容适合 WebView。

【讨论】:

这行得通,但我有文字,而不仅仅是图像,而且文字变得非常小。 可以帮助文本变得这么小吗?【参考方案2】:

如果我理解这个问题,您的网页上有一个尺寸为 X x Y 的图像,当您将网页加载到 WebView 中时,您希望它占用 android 设备的尺寸 (X1 x Y1)。为此,将查询字符串传递给 url,它将图像的高度和宽度呈现为 100%。还要将 webview 的 layout_width 和 layout_height 设置为适当的值。

如果直接将图片加载到WebView中,可以设置图片的高宽

【讨论】:

【参考方案3】:

您可以使用 Webview 的LayoutAlgorithm。但这只会调整那些宽度大于设备宽度的图像。这对小于屏幕的图像没有帮助。

链接:Can Android's WebView automatically resize huge images?


另一种解决方案是使用javascript 或HTML Cleaner 等外部库来删除

<img> 大小属性,然后通过代码和getWidth() 更改它们的大小。

【讨论】:

以上是关于Android Webview:屏幕太大的图像的主要内容,如果未能解决你的问题,请参考以下文章

“画布:Android Studio中试图绘制太大的位图”问题

Android:WebView 中加载的图像中的像素质量降低

为啥 webView.setWebChromeClient(new WebChromeClient());导致屏幕变黑?

Android的WebView可以自动调整大图的大小吗?

为我的服务器上的 GD 库调整太大的图像

裁剪对于 div 来说太大的图像(或其他对象)