2012-01-27 13 views

Respuesta

16

No, el mecanismo de recursos android no admite subcarpetas en el directorio dibujable, no se puede poner.

Creo que si tiene una subcarpeta con cualquier elemento dentro de la carpeta res/drawable, hará que el compilador de recursos falle, evitando que el archivo R.java se genere correctamente.

La única cosa es poner las imágenes en nombres planos como, drawable_actions_sports_soccer.png.

+1

Gracias! Lástima que esto no se puede hacer! = ( –

17

Esto es ahora (algo así como) posible usando Android Studio y Gradle.

Mientras que las subcarpetas aún no son posibles, es posible separar recursos en diferentes conjuntos y tenerlos merged by the build system.

Como ejemplo, para simplificar mi proyecto, quería mantener los esquemas específicos del tema separados de los diseños estándar.

Creé una nueva carpeta de recursos llamada 'res_lighttheme' como se ilustra en la siguiente imagen.

Folder Structure

Luego añade un puntero a esta carpeta a mi archivo build.gradle como este. Para agregar más de uno simplemente agregue otra línea a la definición.

Build Gradle

El resultado es que tanto las carpetas se considera entonces como opciones válidas para los recursos. Se generará un error de compilación si hay un conflicto. es decir, si el mismo recurso está incluido en ambas carpetas.

+0

la línea interna no es correcta. Debe ser: srcDirs = ['src/main/res', 'src/main/your_res_folder'] y debe incluir su carpeta de res predeterminada – Chris623

+1

No necesariamente. Su solución reemplaza todos los directorios de origen . Mine agrega nuevos a cualquiera que ya exista (como el predeterminado). Ninguno de los métodos es incorrecto pero mi solución es perfectamente válida y funciona. – Kuffs

+0

su método está en desuso, arroja un error de gradle por lo que debe ser srcDirs a partir de ahora . – Chris623

Cuestiones relacionadas