2012-11-22 67 views
6

我正在使用MonoDevelop for Android,我正尝试从资源文件夹中的图像创建一个Drawable变量。获取可绘制资源

我在我的资源下列文件\文件夹绘制:

Icon.png 
monkey.png 
monkeyPurple.png 

如何创建已经从这些文件中的一个获得的图像被拉伸的变量?

我曾尝试下面的代码:

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

然而,这是行不通的。如果这是从文件加载图像的正确方法,是否需要具有文件的完整文件名和路径?我尝试了许多组合来访问图像,但没有运气。

我也曾尝试以下操作:

Drawable icon = R.getResources().getDrawable(R.drawable.Icon); 
Drawable icon = R.getResources().getDrawable(R.drawable.monkey); 
没有运气

也。

我可否请帮助正确创建一个可从资源文件夹中获取图像的Drawable变量?

谢谢

回答

9

你非常接近,但我认为你是混合Java和C#。

您可以使用Resource结构来访问它。我已经把下面的Mono for Android和Java版本作为参考,但在你的情况下,如果你使用Mono for Android,你需要C#版本。

单声道的Android(C#)

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

的Android SDK(爪哇)

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

感谢。完美的作品。 – Garry

4

就Android API版本的,旧的方法已被弃用和替换为以下内容:

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

有关详情,请原Android answer

+0

在这种情况下什么是资源? – Euridice01