2012-11-22 7 views
6

Ich benutze MonoDevelop für Android und ich versuche, eine Drawable-Variable aus einem Bild im Ordner Ressourcen zu erstellen.Drawable Resource

Ich habe die folgenden Dateien in meinem Resources \ ziehbar Ordner:

Icon.png 
monkey.png 
monkeyPurple.png 

Wie erstelle ich eine Drawable Variable, die das Bild von einer dieser Dateien erhalten hat?

Ich habe den folgenden Code versucht:

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

Dies ist jedoch nicht funktioniert. Wenn dies der richtige Weg ist, um ein Bild aus einer Datei zu laden, muss ich den vollständigen Dateinamen und Pfad zur Datei haben? Ich habe viele Kombinationen ausprobiert, um auf das Bild zuzugreifen, ohne Glück.

Ich habe auch versucht, die folgenden:

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

auch ohne Glück.

Kann ich bitte etwas Hilfe beim korrekten Erstellen einer Drawable-Variablen, die ein Bild aus dem Ressourcenordner hat, haben?

Dank

Antwort

9

Sie sind ganz in der Nähe, aber ich denke, Sie Java und C# abmischen.

Sie können unter Verwendung der Struktur Resource darauf zugreifen. Ich habe sowohl die Mono für Android- als auch die Java-Version als Referenz angegeben, aber in Ihrem Fall möchten Sie die C# -Version, wenn Sie Mono für Android verwenden.

Mono für Android (C#)

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

Android SDK (Java)

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

Dank. Funktioniert perfekt. – Garry

4

Ab Android API Version , wird die alte Methode veraltet und ersetzt durch Folgendes:

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

Für weitere Informationen überprüfen Sie die Original Android answer

+0

Was sind Ressourcen in diesem Szenario? – Euridice01