2012-11-22 33 views
6

Tôi đang sử dụng MonoDevelop cho Android và tôi đang cố gắng tạo biến có thể vẽ từ hình ảnh trong thư mục tài nguyên.Lấy tài nguyên có thể vẽ

tôi có các tập tin sau đây trong Tài nguyên của tôi \ drawable thư mục:

Icon.png 
monkey.png 
monkeyPurple.png 

Làm thế nào để tạo ra một biến thể vẽ mà đã hình ảnh thu được từ một trong những tập tin này?

Tôi đã thử đoạn mã sau:

Drawable icon = Drawable.CreateFromPath("Icon.png"); 

Tuy nhiên điều này không hoạt động. Nếu đây là cách chính xác để tải hình ảnh từ tệp, tôi có cần phải có tên tệp đầy đủ và đường dẫn đến tệp không? Tôi đã thử nhiều kết hợp để truy cập hình ảnh, không có may mắn.

Tôi cũng đã thử như sau:

Drawable icon = R.getResources().getDrawable(R.drawable.Icon); 
Drawable icon = R.getResources().getDrawable(R.drawable.monkey); 

Cũng không có may mắn.

Tôi có thể xin giúp đỡ trong việc tạo chính xác biến Có thể vẽ có hình ảnh từ thư mục tài nguyên không?

Cảm ơn

Trả lời

9

Bạn đang ở rất gần, nhưng tôi nghĩ bạn đang trộn Java và C#.

Bạn có thể truy cập điều này bằng cách sử dụng cấu trúc Resource. Tôi đã đặt cả hai bản Mono cho Android và Java dưới đây để tham khảo nhưng trong trường hợp của bạn, bạn muốn có phiên bản C# nếu bạn đang sử dụng Mono cho Android.

Mono cho Android (C#)

Drawable icon = Resources.GetDrawable(Resource.Drawable.Icon); 

Android SDK (Java)

Resources res = getResources(); 
Drawable icon = res.getDrawable(R.drawable.Icon); 
+3

Cảm ơn. Hoạt động hoàn hảo. – Garry

4

Tính đến Android API phiên bản , phương pháp cũ bị phản đối và được thay thế bằng các mục sau:

Drawable icon = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.Icon, null); 

Để biết thêm chi tiết, hãy kiểm tra bản gốc Android answer

+0

Tài nguyên trong trường hợp này là gì? – Euridice01

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