2013-12-18 20 views
6

Tôi muốn đặt hình ảnh làm nền của bố cục .Android: đặt nền của bố cục bằng cách sử dụng đường dẫn hình ảnh

Trước tiên tôi đang tạo ra một drawable: Drawable d = Drawable.createFromPath("pathToImageFile");

Trong mức API 8layout.setBackground(d) được không được hỗ trợlayout.setBackgroundDrawable(d)bị phản vì vậy tôi cần phải sử dụng

layout.setBackgroundResource(resourceID)

thế nào có thể Tôi nhận được resourceID của một drawable.I đang sử dụng phương pháp này:

Drawable d = Drawable.createFromPath("pathToImageFile");

để tạo bản vẽ.

Trả lời

2

Hi sử dụng phương pháp sau đây

public void setBackgroundDrawable (Drawable background) 

bằng cách gọi

imageView.setBackgroundDrawable(drawable); 

gia tăng ở mức API 1

EDIT: thử phương pháp này

@SuppressWarnings("deprecation") 
    private void setRes(ImageView iv,Drawable drawable){ 
     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) 
      iv.setBackground(drawable); 
     else 
      iv.setBackgroundDrawable(drawable); 
    } 
+0

Phương pháp này không còn được sử dụng nữa? Trong nhật thực nó được hiển thị với một cuộc đình công trong mã. – ZZeyaNN

+0

phương pháp này được depricated trong api cấp 16 lên đến API cấp 15 nó sẽ làm việc grt –

+0

Nhưng đối với các phiên bản cao hơn Ứng dụng của tôi sẽ không hoạt động. – ZZeyaNN

0

Đối với API 1-15 sử dụng

view.setBackgroundDrawable(drawable); 

Đối với API 16 & trên sử dụng

viw.setBackground(drawable); 
0

Như đã giải thích trong POST bởi @hasanghaforian,

Bạn có thể lấy ID tài nguyên sử dụng "getIdentifier "với mã sau:

int resID = getResources().getIdentifier("org.anddev.android.testproject:drawable/bug", null, null); 

HOẶC

int resID = getResources().getIdentifier("bug", "drawable", "org.anddev.android.testproject");  

nơi,

bug.png là tập tin trong "/res/drawable/".

Sau đó, bạn có thể sử dụng layout.setBackgroundResource(resID).

+0

vì chúng tôi đang tạo động ** có thể vẽ được ** chúng tôi không biết tên của nó, trong trường hợp này là "lỗi". – ZZeyaNN

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