Universal Image Loader获取图片后显示空白问题求助
解决Universal Image Loader加载Dropbox图片显示空白的问题
嘿,我一眼就看穿问题所在啦!你用的Dropbox共享链接其实不是直接指向图片文件的,而是一个用来展示图片的网页链接——这就是为什么Universal Image Loader加载后只显示空白的核心原因!
问题根源
Dropbox默认生成的共享链接(比如你代码里的https://www.dropbox.com/s/(obfuscated)/stripad.jpg),打开后会进入Dropbox的图片预览网页,而不是直接返回图片的二进制数据。Universal Image Loader只能解析直接的资源文件URL,它没法把网页内容转换成图片显示出来。
快速解决方案
你只需要修改Dropbox的链接格式,让它返回直接的图片资源:
- 方法一:把域名替换成
dl.dropboxusercontent.com,修改后的URL示例:String fileURL = "https://dl.dropboxusercontent.com/s/(obfuscated)/stripad.jpg"; - 方法二:在原链接末尾加上
?raw=1,也就是:String fileURL = "https://www.dropbox.com/s/(obfuscated)/stripad.jpg?raw=1";
修改后的完整代码示例
只需要替换你原来的fileURL部分,其他代码无需改动:
String fileURL = "https://dl.dropboxusercontent.com/s/(obfuscated)/stripad.jpg"; // 换成修改后的有效链接 ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build(); ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.init(config); ImageView imageview = (ImageView)findViewById(R.id.adtest1); DisplayImageOptions options = new DisplayImageOptions.Builder() .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) .cacheInMemory(true) .bitmapConfig(Bitmap.Config.RGB_565) .build(); imageLoader.displayImage(fileURL, imageview, options);
验证小技巧
你可以先把修改后的URL复制到浏览器里打开,如果直接显示图片(或者触发下载),就说明这个链接是有效的资源链接,Universal Image Loader就能正常加载了。
另外你的XML布局完全没问题,ImageView的wrap_content和居中设置都很合理,只要链接改对,图片应该就能正常显示啦!
内容的提问来源于stack exchange,提问作者Will Buffington
相关产品推荐
相关产品推荐

