2011-09-19 40 views
9

Tôi có một đối tượng RelativeLayout và muốn tự động thay đổi hình nền bằng đối tượng Bitmap được tạo động (nó thay đổi màu động).Làm thế nào để sử dụng relativelayout.setBackgroundDrawable() với một bitmap?

Tôi thấy rằng khi tôi muốn cập nhật hình nền của đối tượng RelativeLayout mà tôi chỉ có thể chọn setBackgroundDrawable() yêu cầu đối tượng Drawable làm thông số.

Câu hỏi của tôi là, làm thế nào tôi có thể chuyển đổi đối tượng Bitmap được tạo động thành đối tượng Drawable?

+0

là hình ảnh của bạn đến từ nguồn hoặc url địa phương? –

Trả lời

19

BitmapDrawable(obj) chuyển đổi đối tượng Bitmap vào đối tượng drawable.

Hãy thử:

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

Tôi hy vọng điều này sẽ giúp bạn.

+1

BitmapDrawable (bitmap) mới không còn được dùng nữa; sử dụng BitmapDrawable mới (getResources(), bitmap) –

+0

Câu trả lời này được đưa ra nhiều hơn sau 3 năm. Vì vậy, nó có thể có cơ hội cao nhất để phản đối các phương pháp cũ hơn khi các phương pháp mới được đưa vào hình ảnh. Vào thời điểm đó nó đã đúng. – Siten

3

Hãy thử điều này,

Drawable drawable = new BitmapDrawable(bitmap); 
6

Bạn có thể làm điều đó bằng cách này

Drawable drawable = new BitmapDrawable(bitmap); 
RelativeLayout r; 
r = (RelativeLayout) findViewById(R.id.relativelayout1); 
ll.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

// Tạo tham chiếu cho RelativeLayout

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

// thiết lập nền để tham khảo cách bố trí sử dụng các phương pháp sau đây

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

Lưu ý: R.id.rl là id của RelativeLayout

R.drawable.bg id Hình ảnh trong drawabl e thư mục

Các vấn đề liên quan