在运行时更改TextView的背景图像

时间:2015-08-25 23:54:37

标签: android android-layout android-fragments

我正在开发我的第一个应用程序,我需要显示一个更大的缩略图图像,我点击该图像将其设置为不同片段中文本的背景。

我正在尝试使用

更改textview的背景图片
textView.setBackground(getResources().getDrawable(R.drawable.user_placeholder_image));

为了最大限度地减少带宽使用,我希望仅在单击缩略图时才下载背景图像。换句话说,有没有办法在运行时将资源存储到drawable文件夹?如果没有,那么还有其他选择吗?

感谢您的帮助!

2 个答案:

答案 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卡中或作为位图存储。稍后您可以使用任何技术加载位图或图像。