2012-11-22 13 views
6

Sto usando MonoDevelop per Android e sto cercando di creare una variabile Drawable da un'immagine nella cartella delle risorse.Get Drawable Resource

ho i seguenti file nella mia cartella Resources \ drawable:

Icon.png 
monkey.png 
monkeyPurple.png 

Come si crea una variabile Drawable che ha l'immagine ottenuta da uno di questi file?

Ho provato il seguente codice:

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

Questo però non funziona. Se questo è il modo corretto di caricare un'immagine da un file, devo avere il nome completo del file e il percorso del file? Ho provato molte combinazioni per accedere all'immagine, senza fortuna.

Ho anche provato la seguente:

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

anche senza fortuna.

Posso avere qualche aiuto per creare correttamente una variabile Drawable che ha un'immagine dalla cartella delle risorse?

Grazie

risposta

9

Sei molto vicino, ma penso che tu sia la miscelazione Java e C#.

È possibile accedere a questo utilizzando la struttura Resource. Ho messo per riferimento sia la versione Mono per Android che quella Java, ma nel tuo caso vuoi la versione C# se stai usando Mono per Android.

Mono per Android (C#)

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

Android SDK (Java)

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

Grazie. Funziona perfettamente. – Garry

4

Come di Android API versione , il vecchio metodo è deprecato e sostituito dal seguente:

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

Per ulteriori dettagli controllare l'originale Android answer

+0

Che cosa sono le risorse in questo scenario? – Euridice01

Problemi correlati