2012-11-22 22 views
6

Android için MonoDevelop kullanıyorum ve kaynak klasöründeki bir görüntüden bir Çizim değişkenini oluşturmaya çalışıyorum.Çekilebilir Kaynak Alınan

Ben benim Kaynakları aşağıdaki dosyaları \ çekilebilir klasörü:

Icon.png 
monkey.png 
monkeyPurple.png 

nasıl görüntü bu dosyalardan birinden elde ettiği bir Drawable değişken oluşturulur? Ancak bu işe yaramaz

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

:

Aşağıdaki kodu çalıştılar. Bu, bir görüntüyü dosyadan yüklemenin doğru yolu ise, dosyaya tam dosya adı ve yolunun olması gerekir mi? Görüntüye erişmek için şanssız, birçok kombinasyon denedim. Hiçbir şans ile aynı

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

:

şunlarla çalıştılar.

Kaynak klasörden bir görüntü içeren bir Drawable değişkeninin doğru oluşturulmasında yardımcı olabilir miyim?

Teşekkür

cevap

9

Çok yakınsın ama ben Java ve C# karıştırma düşünüyorum.

Bunu, Resource yapısını kullanarak erişebilirsiniz. Referans için aşağıda hem Android hem de Java sürümleri için Mono'yu koydum, ancak sizin durumunuzda Android için Mono'yu kullanıyorsanız C# versiyonunu istiyorsunuz.

Mono Android (C#)

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

Android SDK için (Java) Android API versiyonu itibariyle

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

Teşekkür edin. Mükemmel çalışıyor. – Garry

4

, eski yöntem eskimiştir ve aşağıdaki ile değiştirilir:

Daha fazla ayrıntı için
Drawable icon = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.Icon, null); 

orijinal Android answer

+0

Bu senaryoda Kaynaklar nedir? – Euridice01