EDIT: thêm tạo hình ảnh từ InputStream ...
tôi đã có vấn đề tương tự sử dụng ImageButton. Tôi đã tìm ra bằng cách tải bitmap từ các tài sản và sử dụng nó làm hình ảnh cho ImageButton. Có lẽ không phải là một cách tiếp cận tốt, nhưng đang làm việc và giải quyết vấn đề của tôi - không có khả năng để có thư mục con trong thư mục drawable và không được phép ký tự trong tên tập tin.
(Vâng, tôi có thể sử dụng tiền tố thay vì subdir, và đổi tên file để phù hợp với mô hình (chữ thường chỉ và số) và tôi có lẽ sẽ làm điều đó sau này.)
InputStream is = null;
try {
is = this.getResources().getAssets().open("Images/Fruits/Apple.png");
} catch (IOException e) {
Log.w("EL", e);
}
Bitmap image = BitmapFactory.decodeStream(is);
ImageButton ib2 = (ImageButton) findViewById(R.id.imageButton2);
ib2.setImageBitmap(image);
Có vấn đề gì? Ứng dụng có bị lỗi không? BTW, tại sao bạn sử dụng thư mục tài sản thay vì thư mục 'res/drawable'? –
Nó không hiển thị bất cứ điều gì. Tôi không thể sử dụng res/drawable vì tôi phải tự động thay đổi nền của Linearlayout. – Altaf
Thực sự, có thể bạn cần thư mục tài sản cho mục đích khác nhưng bạn có thể thay đổi nền động chỉ bằng cách sử dụng thư mục 'res/drawable':' setBackgroundResource (R.id.bg1); setBackgroundResource (R.id.bg2) ' –