태블릿을 개발하다보면 새로나오는 태블릿마다 해상도가 깨지는 현상이 발생한다.

DP로 정해줘도 태블릿이 새로나오면 UI가 깨지는 현상이 발생된다.

이유는

1. 해상도가 다르다.

2. DPI가 다르기 때문이다.


아래에 표를 보면 태블릿의 DP해상도는 크게 3개의 크기로 구분 할 수 있을거 같다.

1280 * 800

1024 * 768

960 * 600


*참고1) PX/DPI = DP , DP*DPI = PX

*참고2) smallestWidth(DP)는 가로,세로의 상관없이 가장 적은  비율의 값

*참고 표1 Orientation = LandScape 기준으로 작성

 기종

PX

DPI

  DP

smallestWidth(DP)  

WIDTH 

HEIGHT 

WIDTH 

 HEIGHT

Galaxy Note 10.1 2014 Edition

 2560

1600 

1280 

800 

 800

 Galaxy Note 10.1

 1280

800 

1280 

800 

800 

 Galaxy Tab 10.1

 1280

800 

1280 

800 

800 

 Galaxy Tab  8.9

1280 

800 

1280 

800 

800 

 Galaxy Tab A(2016)

1920 

1200 

1.5 

1280 

800 

800 

 Galaxy Tab S2

2048 

1536 

1024 

768 

768 

 Galaxy Tab A 9.7

1024 

768 

1024 

768 

768 

 Nexus 9 

2048 

1536 

1024 

768 

768 

 Galaxy Tab S3 

 2048

1536 

2.25 

910.2 

682.7 

682.7 

 Galaxy Tab E(W/B)

 1280

800 

1.33

961.5 

600.9 

600.9 

 G Pad3 8.0

 1920

1200 

960 

600 

600 


위에 표를 보았을 때 느낀점은 Galaxy Tab S3는 왜 DPI가 저럴까?;; 필자도 궁금하다.


태블릿마다 해상도가 깨지는 현상이 발생시 수정방법은 여러가지가 있겠지만 그중에 2가지를 들 수 있을거 같다.


방법 1.직접적으로 layout 폴더를 분기 처리한다.

장점

-부분적으로 고치기 딱좋다고 생각된다. UI가 중첩되거나 깨지는 부분만 고치면 되기 때문이다.

단점

-UI가 중첩되거나 깨지는 부분만 고치게 될 경우 UI가 언밸런스 해보일 수 있다.

 

참고 표2

 레이아웃 폴더 분기 종류

 설명

비고 

 layout

 기본레이아웃

 

layout-port

 가로모드시 레이아웃 적용

 

layout-land 

세로모드시 레이아웃 적용 

 

layout-sw600dp 

smallestWidth의 값이 600dp이상일 경우 적용

 1. smallestWidth의 값이 650dp이고 layout-sw600dp, layout-sw651dp폴더가 있을경우 smallestWidth 650dp의 값은 layout-sw600dp에 영향을 받는다.

2. 폴더명 뒤에 -port,-land는 적용 되지 않는다.

 layout-w600dp-port

세로모드의 넓이 dp값이 600이상일 경우 레이아웃 적용

세로모드의 넓이 dp값이 650이고layout-w600dp-port, layout-w651dp-port폴더가 있을경우 650dp의 값은 layout-w600dp-port에 영향을 받는다.

 layout-w600dp-land

가로모드의 넓이 dp값이 600이상일 경우 레이아웃 적용

가로모드의 넓이 dp값이 650이고 layout-w600dp-port, layout-w651dp-port폴더가  있을경우 650dp의 값은 layout-w600dp-port에 영향을 받는다.


방법 2.직접적으로 value폴더의 diman.xml를 분기 처리한다.

장점

-UI를 한꺼번에 고치기 딱 좋다. 깨지는 태블릿의 비율만 계산하여 폴더 분기 처리하면 한꺼번에 적용되기 때문이다.

단점

-비율계산이 잘못될 경우 기존 UI가 망가질수 있다.

참고 표3

-해상도 비율

 해상도

 비율

1280*800 

8:5 

1024*768 

4:3 

960*600 

8:5 









728x90
반응형

+ Recent posts