Android:让WebView显示位图的最简单方法?

时间:2010-05-31 01:47:41

标签: android bitmap zoom pan

我有一些图像是从存储在Bitmap变量中的远程源加载的,我想显示它们。除了在这些图像之间切换之外,用户还应该能够缩放和平移它们。我的第一个想法是以某种方式通过意图将它们传递给内置的库应用程序,但这似乎不可能。 在几个地方建议的解决方案是使用WebView,因为它已经支持缩放和平移。 我的问题是我的Bitmap数据是如何进入WebView的?我是否必须首先将其写入文件,以后我必须再次删除,或者是否有更简单的方法?

或者是否有更好的方法来实现我的主要目标,即将位图数据显示为可缩放和可平移的图像?

2 个答案:

答案 0 :(得分:4)

您可以使用webview直接远程查看图像。您不需要再将图像保存在文件中。 这是一个示例代码段。

myWebView.getSettings().setBuiltInZoomControls(true); //to get zoom functionalities

String url = "http://....."; //url of your image

String x= "<html><head><meta name=\"viewport\" content=\"width=device-width, minimum-scale=1.0\"/><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>";

myWebView.loadData(x, "text/html", "UTF-8");

关于切换图片,您只需更改网址的值,然后再次调用webview的loadData。

答案 1 :(得分:0)

毕竟我对WebView不满意所以我最终创建了自己的图像查看活动。有关我如何做到这一点的进一步说明可以找到in this post on google groups