2012-11-22 12 views
6

Używam MonoDevelop dla systemu Android i próbuję utworzyć zmienną Draw z obrazka w folderze resources.Źródło pobierania

mam następujące pliki w moim Resources \ odkształcalne folderu:

Icon.png 
monkey.png 
monkeyPurple.png 

Jak mogę utworzyć rozciągliwej zmienną, która ma obraz uzyskany z jednej z tych plików?

Próbowałem następujący kod:

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

To jednak nie działa. Jeśli jest to poprawny sposób załadowania obrazu z pliku, czy muszę mieć pełną nazwę pliku i ścieżkę do pliku? Próbowałem wielu kombinacji, aby uzyskać dostęp do obrazu, bez powodzenia.

Próbowałem również następujące:

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

Również bez powodzenia.

Czy mogę prosić o pomoc w poprawnym utworzeniu zmiennej do rysowania, która ma obraz z folderu zasobów?

Dzięki

Odpowiedz

9

Jesteś bardzo blisko, ale myślę, że mieszasz Javę i C#.

Dostęp do tego można uzyskać za pomocą struktury Resource. Poniżej zamieściłem wersje Mono dla Androida i Java, ale w twoim przypadku potrzebujesz wersji C#, jeśli używasz Mono dla Androida.

Mono for Android (C#)

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

Android SDK (Java)

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

Dzięki. Działa świetnie. – Garry

4

Jako Android API wersji , stara metoda jest przestarzała i otrzymuje brzmienie:

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

Więcej szczegółów sprawdzić oryginalny Android answer

+0

Co to jest zasoby w tym scenariuszu? – Euridice01