如何将url的字符串转换为drawable?

用户名

我目前有一个arraylist如下:

private void loadImages() {
        images = new ArrayList<>();

        images.add(getResources().getDrawable(R.drawable.imag1));
        images.add(getResources().getDrawable(R.drawable.imag2));
        images.add(getResources().getDrawable(R.drawable.imag3));
}

我希望能够将url转换为以下可绘制对象:

 drawable1 = "http.someimage.com/image.png"
 drawable2 = "http.someimage.com/newimage.png"

其次是

private void loadImages() {
            images = new ArrayList<>();

            images.add(getResources().getDrawable(drawable1));
            images.add(getResources().getDrawable(drawable2));
...etc    }

有什么简单的方法可以解决此问题吗?我绝对想坚持使用drawables,但是我找不到任何将url转换为drawable的方法吗?谢谢!

创新15

如果您有图片的URL,则需要先下载它。

您无法将网址“转换”为可绘制的内容。

您需要这样的东西:

URL url = new URL("http.someimage.com/image.png"); 
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());

然后,如果需要将图像添加到ImageView对象中,则可以调用.setImageBitmap(bmp)方法。否则,有一些方法可以从位图中提取Drawable对象,您可以检查以前的答案然后,一旦有了可绘制对象,就可以将其添加到数组列表中。

希望我能正确回答你的问题

PS:请确保不要在主线程上执行此操作,因为它是网络操作!使用线程或异步任务

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章