2011-09-19 15 views
9

私はRelativeLayoutオブジェクトを持っていて、動的に作成されたBitmapオブジェクト(動的に色が変わる)で背景イメージを動的に変更したいと考えています。relativelayout.setBackgroundDrawable()をビットマップで使用する方法?

RelativeLayoutオブジェクトの背景イメージを更新するときに、Drawableオブジェクトをパラメータとして必要とするsetBackgroundDrawable()しか選択できないことがわかりました。

私の質問は、どうやって動的に作成されたBitmapオブジェクトをDrawableオブジェクトに変換できますか?

+0

あなたのイメージは、ローカルソースまたはURLから来ていますか? –

答えて

19

BitmapDrawable(obj)でそれを行うことができます

Drawable drawable = new BitmapDrawable(bitmap); 
+1

新しいBitmapDrawable(ビットマップ)は非推奨です。新しいBitmapDrawable(getResources()、ビットマップ)を使用してください。 –

+0

この回答は3年前より多く与えられました。それで、新しいメソッドが現れたときに古いメソッドを非難する可能性が最も高いかもしれません。その時、それは正しかった。 – Siten

3

あなたはこのよう

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

、これを試してみては描画可能なオブジェクトにBitmapオブジェクトを変換します。

試してみてください。

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

私は、これはあなたを助けることを願っています。

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); 
0

RelativeLayoutのための基準を作成する//

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

//次の方法を使用して、レイアウト基準に設定された背景は

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

注: R.id.rlでのIDでありますRelativeLayout

R.drawable.bg id drawablの画像eフォルダ

関連する問題