2012-11-22 3 views
6

J'utilise MonoDevelop pour Android et j'essaie de créer une variable Drawable à partir d'une image dans le dossier des ressources.Obtenir des ressources pouvant être dessinées

je les fichiers suivants dans mes ressources \ dossier drawable:

Icon.png 
monkey.png 
monkeyPurple.png 

Comment puis-je créer une variable Drawable qui a l'image obtenue à partir d'un de ces fichiers?

J'ai essayé le code suivant:

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

Cela ne fonctionne pas. Si c'est la façon correcte de charger une image à partir d'un fichier, dois-je avoir le nom de fichier complet et le chemin d'accès au fichier? J'ai essayé plusieurs combinaisons pour accéder à l'image, sans chance.

J'ai aussi essayé ce qui suit:

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

également sans chance.

Puis-je avoir de l'aide pour créer correctement une variable Drawable contenant une image du dossier de ressources?

Merci

Répondre

9

Vous êtes très proche, mais je pense que vous mélangez Java et C#.

Vous pouvez y accéder en utilisant la structure Resource. J'ai mis les versions Mono pour Android et Java ci-dessous pour référence, mais dans votre cas, vous voulez la version C# si vous utilisez Mono pour Android.

Mono pour Android (C#)

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

SDK Android (Java)

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

Merci. Fonctionne parfaitement. – Garry

4

Comme d'Android API Version , l'ancienne méthode est dépréciée et remplacé par le suivant:

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

Pour plus de détails vérifier l'original Android answer

+0

Que sont les ressources dans ce scénario? – Euridice01

Questions connexes