안드로이드

px, dpi,dp 요약

단딴단 2016. 4. 18. 15:03
반응형

px(픽셀): 절대적인 단위, 물리적 화면을 구성하는 최소 단위라고 생각하면 되나? , 상세한 설명은 생략한다.

dpi: 인치당 펙셀 갯수. 일종의 해상도를 보여준다고 생각하면 될듯

명칭 

인치당 픽셀수 

배율 

 런처 아이콘 크기

 Ldpi

 120

0.75 


mdpi

 160

48*48

 Hdpi

 240

1.5 

72*72 

 Xhdpi

320

 2

 96*96

XXHdpi 

480 

144*144 

 XXXhdpi

640 

192*192 


dp(dip)=device independent pixel

말그대로 기기와 상관없는 픽셀이란 뜻임

아래와 같이 하면 픽셀을 dp로 바꿀 수 있음

Resources r = getResources();

float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 픽셀값, r.getDisplayMetrics());

더 정석은 아래의 함수를 쓰면 된다.

public static float convertPixelsToDp(float px, Context context){

    Resources resources = context.getResources();

    DisplayMetrics metrics = resources.getDisplayMetrics();

    float dp = px / ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);

    return dp;

}


여기 설명 잘되어 있음: http://iconhandbook.co.uk/reference/chart/android/


반응형