ImageView.setImageURI(Uri uri)是否可以使用远程文件?

Ema*_*sev 10 android

是否可以使用ImageView.setImageURI(Uri uri)从远程服务器加载图像?

Fra*_*ita 12

最简洁的答案是不!它不能.

例如,如果uri包含对本地文件的引用,则可以使用ImageView.setImageURI(Uri uri).例如:file:///sdcard/images/thumb.png


jia*_*hao 7

要从目录加载图像,应将其转换为Drawable第一个.这是一段可以提供帮助的代码:

File file = new File ("/sdcard/1.jpg");

ImageView imageView = (ImageView) findViewById(R.id.icon);

imageView.setImageDrawable(Drawable.createFromPath(file.getAbsolutePath()));
Run Code Online (Sandbox Code Playgroud)

请注意,还有另一种方法可供ImageView调用setImageURI(URI uri).此方法用于加载外部文件; 它不适用于该类型File.例如,此代码不起作用:

File file = new File ("/sdcard/1.jpg");

ImageView imageView = (ImageView) findViewById(R.id.icon);

imageView.setImageURI(Uri.fromFile(file));
Run Code Online (Sandbox Code Playgroud)

感谢Martin Wibbels的这篇文章.