我的各种可绘制文件夹中都有一个文件夹结构,例如drawable,drawable-hdpi等。
类似的东西:
drawable-hdpi
->folder_main
->sub_folder_1
->1.png
->2.png
->sub_folder_2
->1.png
->2.png
->sub_folder_3
->1.png
->2.png
->ic_launcher.png
访问这些资源将是动态的,并以编程方式完成。我需要一种方法来访问这些子文件夹png资源。
使用ic_launcher
直接访问R.drawable.ic_launcher
。从逻辑上讲,我认为您应该能够访问资源,例如:
R.drawable.folder_main.sub_folder_1.1
但是这显然不起作用,并且在子文件夹和文件是动态的情况下不能以编程方式工作。
提前感谢任何指示。
答案 0 :(得分:2)
您无法在资源文件夹中创建子文件夹。层次结构必须保持平坦。 我认为它甚至不会编译。
答案 1 :(得分:0)
不,Android 不允许资源文件夹中的嵌套层次结构。如果你尝试过类似的东西,你会立即得到编译错误。遗憾的是,资源文件夹中不能创建任何子文件夹。
答案 2 :(得分:0)
在发布我的问题后不久,我发现了这个堆栈溢出资源:
http://www.stackoverflow.com/a/10170925/321697
这个,这里的答案解决了我对文件夹/文件结构的第一个问题。
然后我需要一种处理这些资源的方法。我这样做了如下:
我将文件结构更新为:
drawable-hdpi
->name_1_0.png
->name_1_1.png
->name_1_2.png
->name_2_0.png
etc
然后我使用以下代码访问了这些文件:
int folder = 1;
int image = 0;
int resourceIdentifier = resources.getIdentifier("name_"+folder+"_"+image,"drawable","*whateveryourpackageiscalled");
注意:* whateveryourpackageiscalled = com.yourwebsite.etc
这样我就可以通过更改folder
和image
变量动态访问我需要的图片。