我正在开发我的第一个应用程序,我需要显示一个更大的缩略图图像,我点击该图像将其设置为不同片段中文本的背景。
我正在尝试使用
更改textview的背景图片textView.setBackground(getResources().getDrawable(R.drawable.user_placeholder_image));
为了最大限度地减少带宽使用,我希望仅在单击缩略图时才下载背景图像。换句话说,有没有办法在运行时将资源存储到drawable文件夹?如果没有,那么还有其他选择吗?
感谢您的帮助!
答案 0 :(得分:1)
您无法在运行时将它们存储在资源中。但是,您始终可以将它们存储为位图。看看我的例子。
//OnClick
new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
.execute("your url");
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
您可以修改代码以存储它,而不是将图像设置为ImageView。
答案 1 :(得分:0)
您无法在运行时将它们存储在资源中。但您可以将它们存储在SD卡中或作为位图存储。稍后您可以使用任何技术加载位图或图像。