如何将relativelayout.setBackgroundDrawable()与位图一起使用?

时间:2011-09-19 05:45:36

标签: android android-layout

我有一个RelativeLayout对象,想要使用动态创建的Bitmap对象动态更改背景图像(它会动态更改颜色)。

我看到当我想更新RelativeLayout对象的背景图片时,我只能选择需要Drawable对象作为参数的setBackgroundDrawable()

我的问题是,如何将动态创建的Bitmap对象转换为Drawable对象?

6 个答案:

答案 0 :(得分:20)

BitmapDrawable(obj)将Bitmap对象转换为可绘制对象。

尝试:

RelativeLayout relative = (RelativeLayout) findViewById(R.id.relative1);
Drawable dr = new BitmapDrawable(bit);
(view).setBackgroundDrawable(drawable);

我希望这会对你有所帮助。

答案 1 :(得分:6)

你可以这样做

Drawable drawable = new BitmapDrawable(bitmap);
RelativeLayout r;
r = (RelativeLayout) findViewById(R.id.relativelayout1);
ll.setBackgroundDrawable(drawable);

答案 2 :(得分:3)

试试这个,

Drawable drawable = new BitmapDrawable(bitmap);

答案 3 :(得分:2)

RelativeLayout rl=(RelativeLayout) findViewById(R.id.main1);
Bitmap myImage = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Drawable dr = new BitmapDrawable(myImage);
rl.setBackgroundDrawable(dr);

答案 4 :(得分:1)

Drawable d = new BitmapDrawable(bitmap);

答案 5 :(得分:0)

//为RelativeLayout创建参考

RelativeLayout layout = (RelativeLayout) findViewById(R.id.rl);

//使用以下方法将背景设置为布局参考

Drawable drawable = getResources().getDrawable(R.drawable.bg);
layout.setBackground(drawable);

注意: R.id.rl是RelativeLayout的ID

R.drawable.bg id为可绘制文件夹中的图像