从资源设置背景图像

时间:2012-12-06 13:16:36

标签: android android-layout bitmap background-image

我有一个方法setBackgroundImage(BitmapDrawable),我在res中的drawable文件夹中有一个图片imgbg

如何将此图像设置为背景图像?

view.setBackgroundImage(R.drawable.imgbg);不起作用,因为R.drawable.imgbg是一个整数,但方法需要绘制。

我知道这很愚蠢,但即使经过密集的谷歌搜索,我也无法解决这个问题。

任何帮助表示感谢。

修改

此代码段不属于Activity类,因此我没有context个对象或getResources()getApplicationContext() ...

编辑2(解决方案):

public class PieChartDemo01View extends View 
{
public PieChartDemo01View(Context context) 
{
    super(context);
    Drawable drawable = super.getResources().getDrawable(
        R.drawable.bg2);
    BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;

}
}

6 个答案:

答案 0 :(得分:2)

view.setBackgroundImage(getResources().getDrawable(R.drawable.imgbg))

答案 1 :(得分:1)

试试这个:

view.setImageResource(R.drawable.imgbg);

更新:

Drawable imgbg = context.getResources().getDrawable( R.drawable.imgbg );
view.setBackgroundImage(imgbg);

答案 2 :(得分:1)

试试这个:

view.setBackgroundResource(R.drawable.imgbg);

答案 3 :(得分:1)

通过资源ID获取Drawable并在您的方法中使用它:

Drawable drawable = context.getResources().getDrawable(R.drawable.imgbg)

答案 4 :(得分:1)

也许将其改为

BitmapDrawable background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(),R.drawable.imgbg)) setBackgroundImage(background);

应该可以工作。

答案 5 :(得分:1)

简单首先得到drawable然后在bitmapDrawable中设置强制转换。

Drawable drawable=getApplicationContext().getResources().getDrawable(R.drawable.imgbg);
            BitmapDrawable bitmapDrawable=(BitmapDrawable) drawable;

亲爱的就是它的工作。