다중 스크린 사이즈를 지원하는 방법


용어 정리

Screen size:  대각선 상의 실제 크기를 말한다.

안드로이드 시스템에선 간단히 4개의 그룹으로 표현 한다.

small

normal

large

extra-large


Screen density: 


Orientation: 


Resolution: 화소수, 항상 가로부터 표현.


Density-independent pixel (dp): 가장 중요한 정보이다. 인치당 점의 개수로, UI의 실제 길이가 결정 되는 부분이다.


aspect ratio: 종횡비로 가로와 세로의 비율을 나타냄. 

4:3, 16:9와 같은 것들이며, long, notlong과 같이 표현 하기도함.



안드로이드가 이와 같이 그룹을 이용하는 것은, 약간의 차이는 거의 무시해도 되기 때문이다. 따라서 일반화를 시켜서 계산하게 됨.


화소 vs 밀도 -> 비례

크기 vs 밀도 -> 반비례



---

해상도 제각각

밀도가 제각각


화면이 잘리거나, 검정색 여백을 드러내는 프로그램들이 실제로 존재함.


문제를 발생 시키는 몇가지 나쁜 습관들

1) 물리 단위를 쓰지 않고 논리 단위를 쓴다.

2) 이미지는 가급적 밀도별로 모두 제공함.

3) 레이아웃의 배치 기능을 십분 활용 한다.




논리 단위의 이용

물리 단위는 해당 장치에서만 정확하게 동작하므로, 빌트인 앱과 같은 특수한 경우를 제외 하고는 이용하지 않도록 해야함.

안드로이드에서 제공하는 노리적 단위는 다음과 같음.

px 물리적인 픽셀단위

in, mm, pt 인치, 밀미미터, 포인트

dpi (or dp), sip (or sp) 밀도에 독립적인 단위, 폰트에 가변 크기


dpi가 논리적인 단위 이므로 이것을 사용 해야한다.

160을 기준으고 1 픽셀

240 이면 240/160 = 1.5 배 커짐.

120 이면 120/160 = 0.75배 만큼 감소.






violation 나는 pattern을 분석해서, 나만의 향상된 알고리즘을 생성 한다.


영상처리에 기반한 것이 아닌, 패턴과 규칙에 기반한 접근 법이다.



이미지 리소스의 경우


이미지의 경우 다소 특별한 관리 기법을 따름.


운영체제는 장비의 밀도와 폴더의 밀도를 비교하여 이미지를 스케일링함.

모든 폴더에서 이미지가 발견되지 않으면 컴파일 에러로 처리함.


각각에 맞게,

drawable-ldpi

drawable-mdpi

drawable-hdpi


3개의 디렉터리에 이미지를 넣어 두면 좋은 효과를 볼 수 있다.




레이아웃 활용


절대적인 배치 레이아웃으론 맞추기가 어렵다.

따라서 렐러티브 레이아웃,



















'Computer Science > Android Application' 카테고리의 다른 글

Android wear app  (0) 2015.08.25
Android Studio 자동 import 기능  (0) 2015.07.15
Android Wear 개발환경 구축  (0) 2015.07.15
Notifications API Guide  (0) 2015.06.29
Android Studio 특징 및 단축키  (0) 2015.05.24

+ Recent posts