在资源文件夹中创建子文件夹

时间:2011-09-10 11:51:22

标签: android

是否可以在Android项目的资源文件夹中创建子文件夹?我在项目中需要大约200张图像(缩略图),我可以将它们添加到drawable-mdpi中,但最好不要将这些图像与其他图像混合。类似drawable-mdpi的东西 - >拇指 - >这里的所有图片。

2 个答案:

答案 0 :(得分:4)

不允许这样做。您只能使用android文档指定文件夹。

允许的子文件夹名称在link中指定。 Android根据这些结构生成R.java,放置子文件夹可能会导致错误。

答案 1 :(得分:0)

实际上,有一些机制允许在res文件夹中存在具有非标准名称的文件夹时生成R.java文件。

(我试图分享一个git repo作为iOS和Android项目的子模块,但不想让Android项目获取驻留在我指定的文件夹中的文件。)

aapt是创建R.java文件的工具,可以使用--ignore-assets参数调用它。 google source documentation中有一组默认值,或者只是通过从命令行调用aapt而没有任何参数(或--help而不是详细描述)一个有效的论点,但仍提供帮助)。在Android项目的aapt.ignore.assets=xxx文件中使用行ant.properties可以完成相同的操作,具体取决于您的需求或偏好。

如果您没有build.xml或强制使用ant的其他机制(我不这样做),则aapt --ignore-assets默认值之一为{{ 1}},表示忽略以<dir>_*开头的任何文件夹。

这是我的后备:我创建了一个名为_的目录,并将所有的@ 2x文件放在那里。 (在Xcode中,我可以简单地从他们所在的地方获取资源)。 _iOS_retina的默认调用只是忽略它。为了进一步简化我的项目,我还更新了我的aapt文件,以包含忽略此文件夹的资源过滤器,因此它也不会在我的eclipse环境中占用任何空间。

.project