【问题标题】:how to convert a WebView into an ImageView?如何将 WebView 转换为 ImageView?
【发布时间】:2011-10-08 12:41:23
【问题描述】:

我有一个 html 页面的 WebView,它只显示一个图像

http://www.google.fr/intl/en_com/images/srpr/logo1w.png

webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://www.google.fr/intl/en_com/images/srpr/logo1w.png");

有没有简单的方法把它变成 ImageView ?

【问题讨论】:

  • 为什么要把webview转成imageview?相反,您可以从 Web 加载图像并将其直接显示到 ImageView 中。
  • 好吧,你是对的,直接获取图像一定更容易......我该怎么做?我要查看位图文档吗?

标签: android


【解决方案1】:

试试这个:

webView.buildDrawingCache();

Bitmap bmap = imageView.getDrawingCache();

imageView.setImageBitmap(bmap);

【讨论】:

  • 它似乎没有工作。模拟器出现错误。也许是因为我在 Android 2.1 上。
  • 错误是怎么回事?我之前在 android 1.6、2.1、2.3 上试过这个,效果很好。
  • 实际上没有错误。当我在模拟器上运行应用程序时,图像视图只是空的,就好像它不存在一样。
  • 我在stackoverflow.com/questions/4715044/… 找到了类似的答案,它解决了类似的问题。您应该再次检查您的代码。
【解决方案2】:

您可以打开一个指向图像 URL 的 InputStream(使用 URLConnection),并使用 Drawable.createFromStream 从它创建一个 Drawable。然后您可以将Drawable 设置为ImageView

【讨论】:

    【解决方案3】:

    根据您的上述评论:ok you are right it must be easier getting the image directly... how do i do that ? Do i look in bitmap doc ?,我假设您想从 web 加载图像并希望在 imageview 中显示相同的图像,如果是这种情况,请参考此内容以准确获取:How to display image from URL on Android

    【讨论】:

      【解决方案4】:
      Bitmap btmp = mwebview.getDrawingCache(true);
      

      这将在 webview 中返回位图图像。

      并且可以通过以下方式将位图设置为图像视图:

      imageView.setImageBitmap(bmap);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-18
        • 2013-12-15
        • 2020-10-09
        • 2021-09-24
        • 1970-01-01
        • 2017-10-23
        • 2011-06-10
        相关资源
        最近更新 更多