我有一些从存储在位图变量中的远程源加载的图像,我想显示它们。除了在这些图像之间切换之外,用户还应该能够缩放和平移它们。我的第一个想法是以某种方式通过意图将它们传递给内置的画廊应用程序,但这似乎是不可能的。在几个地方建议的解决方案是使用 WebView,因为它已经支持缩放和平移。我的问题是我的位图数据如何进入 WebView?我是否必须先将其写入文件,以后必须再次删除,还是有更简单的方法?
还是有更好的方法来实现我的主要目标,即将位图数据显示为可缩放和可平移的图像?
您可以使用 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");
关于切换图片,你可以改变url的值,再次调用webview的loadData。
毕竟我对 WebView 并不满意,所以我最终创建了自己的图像查看 Activity。关于我是如何做到这一点的更多描述可以在这篇关于谷歌群组的帖子中找到。