我有一个方法setBackgroundImage(BitmapDrawable)
,我在res中的drawable文件夹中有一个图片imgbg
。
如何将此图像设置为背景图像?
view.setBackgroundImage(R.drawable.imgbg);
不起作用,因为R.drawable.imgbg
是一个整数,但方法需要绘制。
我知道这很愚蠢,但即使经过密集的谷歌搜索,我也无法解决这个问题。
任何帮助表示感谢。
此代码段不属于Activity类,因此我没有context
个对象或getResources()
或getApplicationContext()
...
public class PieChartDemo01View extends View
{
public PieChartDemo01View(Context context)
{
super(context);
Drawable drawable = super.getResources().getDrawable(
R.drawable.bg2);
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
}
}
答案 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;
亲爱的就是它的工作。