2012-01-27 4 views

답변

16

아니요, 안드로이드 자원 메커니즘은 drawable 디렉토리의 하위 폴더를 지원하지 않으므로 넣을 수 없습니다.

res/drawable 폴더 안에있는 항목이있는 하위 폴더를 사용하면 리소스 컴파일러가 실패하게되어 R.java 파일이 올바르게 생성되지 않습니다.

단 한가지는 이미지를 평면 이름 (예 : drawable_actions_sports_soccer.png)에 넣습니다.

+1

고마워요! 너무 나쁜이 일을 할 수 없어! = –

17

이제 Android Studio와 Gradle을 사용하여 (일종의) 가능합니다.

하위 폴더는 여전히 가능하지 않지만 자원을 다른 세트로 분리하고 merged by the build system을 가질 수 있습니다.

예를 들어, 프로젝트를 단순화하기 위해 테마 드로어 블을 표준 드로어 블과 별도로 유지하려고했습니다.

아래 그림과 같이 'res_lighttheme'라는 새 리소스 폴더를 만들었습니다.

Folder Structure

나는 다음과 같은 내 build.gradle 파일을이 폴더에 대한 포인터를 추가했다. 둘 이상을 추가하려면 정의에 다른 행을 추가하십시오.

Build Gradle

결과는 폴더 모두 다음 자원에 대한 대상지로 간주된다는 것이다. 충돌이 있으면 빌드 오류가 생성됩니다. 즉, 동일한 리소스가 두 폴더에 모두 포함되어있는 경우입니다.

+0

내부 라인이 올바르지 않습니다. srcDirs = [ 'src/main/your_res_folder'] 기본 res 폴더를 포함해야합니다 – Chris623

+1

솔루션은 모든 소스 디렉토리를 대체합니다 . 광산은 이미 존재하는 것 (기본값과 같은)에 새로운 것을 추가합니다. 두 방법 모두 잘못되었지만 내 솔루션이 완벽하게 유효하고 작동합니다. – Kuffs

+0

메서드가 사용되지 않으므로 gradle 오류가 발생하므로 srcDirs부터 사용해야합니다. . – Chris623

관련 문제