如何将 url 的字符串转换为可绘制对象?
how do I transform a string of url's into drawable?
我目前有一个数组列表如下:
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 }
有什么简单的方法可以解决这个问题吗?我绝对想坚持使用可绘制对象,但我找不到任何方法将 url 转换为可绘制对象
有任何想法吗?谢谢!
如果您有URL的图片需要先下载。
您不能 "convert" 将 URL 放入可绘制对象中。
你需要这样的东西:
URL url = new URL("http.someimage.com/image.png");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
然后如果您需要将图像添加到ImageView 对象中,您可以调用方法.setImageBitmap(bmp)。
否则有办法从 Bitmap 中提取一个 Drawable 对象
您可以查看之前的 answer。然后一旦你有了可绘制对象,你就可以将它添加到你的数组列表中。
希望我答对了你的问题
P.S.: 一定不要在主线程上做这个,因为它是一个网络操作!使用线程或异步任务
我目前有一个数组列表如下:
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 }
有什么简单的方法可以解决这个问题吗?我绝对想坚持使用可绘制对象,但我找不到任何方法将 url 转换为可绘制对象 有任何想法吗?谢谢!
如果您有URL的图片需要先下载。
您不能 "convert" 将 URL 放入可绘制对象中。
你需要这样的东西:
URL url = new URL("http.someimage.com/image.png");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
然后如果您需要将图像添加到ImageView 对象中,您可以调用方法.setImageBitmap(bmp)。 否则有办法从 Bitmap 中提取一个 Drawable 对象 您可以查看之前的 answer。然后一旦你有了可绘制对象,你就可以将它添加到你的数组列表中。
希望我答对了你的问题
P.S.: 一定不要在主线程上做这个,因为它是一个网络操作!使用线程或异步任务