본문 바로가기

IT/android

안드로이드 해상도 관련 정보 ( dp, px )

반응형

안드로이드의 3가지 해상도 범주
LDPI
-Density(인치당 픽셀수) : 120 , dp = px * 1.33

MDPI
-Density : 160, dp = px * 1.0

HDPI
-Density : 240, dp = px * 0.66

 

 

이해를 돕기위한 예제
--> 각기 다른 해상도에서 똑같은(비슷한) 크기로 이미지를 보여주기위해
LDPI 9x9
MDPI 12x12
HDPI 16x16 으로 작성
==> dp 는 모두 약 10x10 크기가 된다.

 

dip 공식 = px * (160/density)
즉, MDIP 의 dip 는 픽셀값과 동일함
dip : dot independent pixel

 

예제 >>>

ex)
1.
640*480 해상도
4*3 인치
픽셀밀도 : 160dpi
10dp 객체 10px 로 보임

 

2.
640/480 해상도
8*6 인치
픽셀밀도 : 80dpi
10dp 객체 20px 로 보임

sp : scaled pixcel

pts: points. 텍스트 크기 . 1pts = 1/72 인치
in : inches
mm : millimeters

 

 

<**>
겔럭시 노트 해상도
WxH : 800x1280
density : 2.0(xdpi) 즉 160x2 = 320 dpi

 

기기의 해상도 확인코드
DisplayMetrics displayMetrics = new DisplayMetrics();
int deviceWidth = displayMetrics.widthPixels;
int deviceHeight =displayMetrics.heightPixels;
Toast.makeText(this, ""+displayMetrics.density +"\n W : " +deviceWidth + "\n H : "+deviceHeight, Toast.LENGTH_LONG).show();
[출처] 안드로이드사이드 - http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=71900#c_71906


참고링크
http://javaexpert.tistory.com/310

http://hest.tistory.com/111

 

안드로이드 개발자 센터의 해상도에 관한 정보
http://developer.android.com/guide/practices/screens_support.html

 

결론-->

안드로이드 권고사항(mdpi기준) 보다는 우리나라 특성상 ( 또는 기기의 분포상 ) hdpi 기준으로 만드는게 좋다.

크기 단위는 dp, sp 를 사용해서 작업해라.
 

 

반응형