Webview不在KitKat下面显示某些图像的所有版本(API 19)

时间:2014-07-10 00:05:25

标签: android webview

我使用webview来显示网络上的图像。由于某种原因,它显示大多数图像,但有一些只显示空白。 有用的图片:http://asset.treering.com/P65/27176195.0_- 图片没有:http://asset.treering.com/P00/26683156.0_-

以下是我用来显示的代码:

WebView wv = new WebView(context);
        if (url != null)
        {
            wv.setVerticalScrollBarEnabled(false);
            wv.setHorizontalScrollBarEnabled(false);

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {

                 // only for gingerbread and newer versions
                String data = "<html><body ><img id=\"resizeImage\" src=\"" + url + "_-" + "\" width=\"100%\" alt=\"\" align=\"middle\" /></body></html>";
                wv.loadData(data, "text/html; charset=UTF-8", null);
            }
            else
            {
                this.setPadding(scale5, scale5, scale5, scale5);
                wv.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
                wv.loadUrl(url + "_-"); 
            }
            addView(wv,new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
        }

1 个答案:

答案 0 :(得分:2)

解决方案:
结果显示未显示的图像以32位深度编码。 android 4.4之前的android webview无法显示任何高于24位深度的JPEG图像。您需要将图像更改为PNG(android支持32位深度)或将图像导出为24位深度。