我正在使用MonoDevelop for Android,我正在尝试从资源文件夹中的图像创建一个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变量吗?
由于
答案 0 :(得分:11)
你非常接近,但我认为你正在混合使用Java和C#。
您可以使用Resource
结构访问此内容。我已将下面的Android和Java版本的Mono用于参考,但在您的情况下,如果您使用Mono for Android,则需要C#版本。
Android的Mono(C#)
Drawable icon = Resources.GetDrawable(Resource.Drawable.Icon);
Android SDK(Java)
Resources res = getResources();
Drawable icon = res.getDrawable(R.drawable.Icon);
答案 1 :(得分:4)
从Android API 版本 21 开始,旧方法已弃用,并替换为以下内容:
Drawable icon = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.Icon, null);
有关详细信息,请查看原始Android answer