리소스 조건 설정이란 어떤 리소스를 특정 환경에서만 적용되도록 설정하는 것을 말한다.
- 기기마다 화면 밀도, 즉 화면의 크기가 다르기 때문에 이미지를 크게 5개씩 준비한다.
화면 밀도 | 크기 |
---|---|
XXXHDPI | 192x192 |
XXHDPI | 144x144 |
XHDPI | 96x96 |
HDPI | 48x48 |
MDPI | 36x36 |
리소스 조건을 이용하려면 아이콘의 파일명을 똑같이 지정해야한다.
똑같은 파일명으로 만들면 R 파일에는 식별자가 하나만 생성이 된다.
- 파일명이 중복되는 문제는 디렉터리를 구분하여 해결한다. (mipmap-mdpi, mipmap-hdpi)
조건 | 예시 | 설명 |
---|---|---|
MCC 및 MNC | mcc310 mcc310-mnc004 | 이동통신 국가 코드(MCC)와 선택적으로 이동통신 네트워크 코드 (MNC)추가 가능. mcc310은 미국이며 mcc310-mnc003=4는 버라 이즌을 이용하는 미국을 의미 |
언어 및 지역 | en ko-rKR | ISO639-1 언어 코드이며 선택적으로 뒤에 소문자 r을 추가해 ISO3166-1-alpha-2의 지역 코드가 나올 수 있음 |
레이아웃 방향 | IdrtI, IdItr | 히브리어처럼 오른쪽에서 왼쪽으로 쓰는 언어의 레이아웃에서 유용하게 이용 가능. IdrtI은 오른쪽에서 왼쪽, IdItr은 왼쪽에서 오른쪽 방향 레이아웃 |
더 작은 쪽 | sw320dp | 화면 크기 중 더 작은 쪽에 대한 조건. 화면 방향과 상관없이 화면의 높이와 너비 중 작은 쪽에 대한 조건을 의미, sw320dp이면 너비든 높이든 상관없이 작은 쪽의 치수가 320dp인 경우를 의미 |
이용 가능한 너비 | w720dp | 화면 너비에 대한 조건. w720dp이면 너비가 720인 기기 |
이용 가능한 높이 | h720dp | 화면 높이에 대한 조건. h720dp이면 높이가 720인 기기 |
화면 크기 | small, normal, large, xlarge | 화면 크기를 small, normal, large, xlarge로 판단해 조건 명시. small은 320x428, normal은 320x470, large는 480x640, xlarge는 720x960 정도의 크기 |
화면 비율 | long, notlong | 화면의 종횡비 조건.long은 WQVGA, WVGA, FWVGA 등의 긴 화면, notlong은 QVGA, HVGA, VGA등의 길지 않은 화면 |
원형 화면 | round, notround | 원형 화면인지 판단. round는 웨어러블 기기처럼 둥근 화면을 가지는 기기. notround는 폰이나 태블릿처럼 사각형 화면의 기기 |
화면 방향 | port, land | 화면의 방향에 대한 조건. port는 세로 방향, land는 가로 방향 |
UI모드 | car, desk, television, application, watch, vrheadset | 기기가 도크게 압입되거나 제거될 때 대응을 위한 조건. car는 자동차, desk는 데스크, television은 TV, application은 표시되지 않은 제품 |
야간 모드 | night, nonight | 야간 모드에 대응하기 위한 조건. night는 야간, nonight는 주간 |
화면 픽셀 밀도 | ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi, nodpi, tvdpi, anydpi, nnndpi | 화면 밀도에 대한 조건, ldpi는 120dpi, mdpi는 160dpi, hdpi는 240dpi, xhdpi는 320dpi, xxhdpi는 480dpi, xxxhdpi는 640dpi, nodpi는 크기를 조정하지 않을 리소스에 사용 |
터치 스크린 유형 | notouch, finger | 터치 스크린을 제공하는지 판단. notouch는 터치 스크린이 없는 기기 |
키보드 가용성 | keysexposed, keyshidden, keyssoft | 키보드의 유형. keyssoft는 소프트 키보드, keysexposed는 키보드가 노출되어 있는 기기, keyshidden은 키보드가 있으나 숨길 수 있는 기기 |
기본 텍스트 입력방법 | nokeys, qwerty, 12key | nokeys는 하드웨어 키보드가 없는 경우. qwerty는 하드웨어 쿼티 키보드가 있는 경우. 12key는 하드웨어 12키가 있는 경우 |
탐색 키 가용성 | navexposed, navhidden | 탐색 키 사용 가능 조건. navexposed는 탐색 키 사용 가능, navhidden은 탐색 키 사용 불가 |
기본 비터치 탐색방법 | nanav, dpad, trackball, wheel | 터치하지 않고 탐색이 가능한 기기가 있는지 판단 |
플랫폼 버전 | v21 | 기기의 API 레벨 |
위 표는 조건 나열 순서로 정리되어 있다.
- 언어조건과 밀도 조건을 함께 지정한다면 언어 조건 다음에 밀도 조건이 와야 한다.