8

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

我的 Resources\drawable 文件夹中有以下文件:

Icon.png
monkey.png
monkeyPurple.png

如何创建具有从这些文件之一获得的图像的 Drawable 变量?

我尝试了以下代码:

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

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

我还尝试了以下方法:

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

也没有运气。

我可以在正确创建具有资源文件夹中图像的 Drawable 变量方面提供一些帮助吗?

谢谢

4

2 回答 2

14

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

您可以使用该Resource结构访问它。我已将 Mono for Android 和 Java 版本放在下面以供参考,但在您的情况下,如果您使用 Mono for Android,则需要 C# 版本。

适用于 Android 的 Mono (C#)

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

安卓 SDK (Java)

Resources res = getResources();
Drawable icon = res.getDrawable(R.drawable.Icon);
于 2012-11-22T03:28:09.667 回答
5

从 Android API版本21开始,旧方法已被弃用并替换为以下内容:

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

有关更多详细信息,请查看原始Android 答案

于 2016-08-25T17:29:45.970 回答