2017-10-05 2 views
0

드로어 블 엔크 리 케이 (drawable-en-rCA)에 이미지가 있습니다. drawable-en-rIN 또는 drawable-in과 같은 폴더가 없습니다. 앱 로캘을 en_IN으로 변경하면 drawable은 drawable-en-rCA에서 선택되지만 en_IN에 대한 특정 드로어 블이 없기 때문에 기본 드로어 블 폴더에서 가져올 것으로 예상됩니다.로케일이 en_IN 일 때 안드로이드 드로어 블이 drawable-en-rCA에서 선택되었습니다

왜 이런 일이 일어 났는지 이해할 수 있습니까?

답변

0

Android N 이상을 실행하는 기기에서이 문제가 발생하는 경우이 문제에 대한 답변이 Localization for Canada defaults to UK; should default to US과 관련 있다고 생각됩니다. Google은 Improvements to Resource-Resolution Strategy Android N의 문서를 발표했습니다. 문제에 대한 Incorrect resource resolution strategy above Android N, defaulting to en_GB and not default strings.xml 버그 보고서도 있었지만 버그는 아니지만 기능으로 밝혀졌습니다. 여기에 자신의 반응이다 : 이러한 로케일을 사용할 수있는 경우

안드로이드 N 년부터 (미국, 푸에르토 리코 및 아메리칸 사모아 같은 미국 영토 제외) 모든 영어 로케일 일부 국제 영어 변종으로 폴백.

en-CA의 경우 en-GB (더 나은 국제 영어 로캘이없는 경우 국제 영어의 대표자로 간주됩니다)로 떨어지기 전에 먼저 이러한 로케일을 사용합니다. en-rCA (캐나다 영어), b + en + 001 (국제 영어), ko (영어). en-GB 문자열을 en-CA 용으로 선택하지 않으려면 en-CA에 더 적합한 것으로 간주되므로이 세 가지 디렉터리 중 하나에 리소스를 넣어야합니다. 이 (특별히 새로운 자원 해결 전략 문서)에 따라 케이스를 들어

는, 어떤 자원이 drawable-en-rIN에 존재하지 않는 경우, en_IN을 선택하면, 다음 가장 가까운 국제 영어 디렉토리를 보이는 것 같다 귀하의 경우에는 drawable-en-rCA입니다. 존재하지 않으면 기본 drawable 폴더가 기본값이됩니다.

희망이 있습니다.

관련 문제