2011-09-10 187 views
1

是否可以在Android項目的資源文件夾中創建子文件夾?我在我的項目中需要大約200張圖像(縮略圖),我可以將它們添加到drawable-mdpi中,但最好不要將這些圖像與其他圖像混合。像drawable-mdpi - > thumbs - >這裏的所有圖像。在資源文件夾中創建子文件夾

回答

4

不,這是不允許的。您只能製作由android文檔指定的文件夾。

允許的子文件夾名稱在link中指定。 Android根據這些結構生成R.java並放置子文件夾可能會導致錯誤。

0

實際上,在res文件夾中存在具有非標準名稱的文件夾時,會生成R.java文件的機制。

(我就遇到了這個想分享一個git回購既是iOS和Android項目的一個子模塊,但不wantint的Android項目拿起我指定的文件夾中駐留的文件。)

aapt是創建R.java文件的工具,可以使用--ignore-assets參數調用它。在google source documentation中有一組默認設置,或者通過從命令行調用aapt而沒有任何參數(或--help,這不是有效的參數,但提供幫助),可以進行較爲詳細的描述。在Android項目中使用aapt.ignore.assets=xxx中的ant.properties文件可以完成幾乎相同的任務,具體取決於您的需求或偏好。

如果沒有強制的ant使用(我不),該aapt--ignore-assets一個默認值是<dir>_*,這意味着忽略任何文件夾開始_一個build.xml或其他機制。

這是我的回退:我創建了一個名爲_iOS_retina的目錄,並將所有我的@ 2x文件放在那裏。 (在Xcode中,我可以簡單地從他們所在的位置獲取資源)。默認調用aapt只是忽略它。爲了進一步簡化我的項目,我還更新了我的.project文件以包含忽略此文件夾的資源過濾器,因此它在我的eclipse環境中也不佔用任何空間。

<filteredResources> 
     <filter> 
      <id>1371429105277</id> 
      <name></name> 
      <type>26</type> 
      <matcher> 
       <id>org.eclipse.ui.ide.multiFilter</id> 
       <arguments>1.0-name-matches-true-false-_iOS_retina</arguments> 
      </matcher> 
     </filter> 
    </filteredResources>