px(픽셀): 절대적인 단위, 물리적 화면을 구성하는 최소 단위라고 생각하면 되나? , 상세한 설명은 생략한다.
dpi: 인치당 펙셀 갯수. 일종의 해상도를 보여준다고 생각하면 될듯
명칭 |
인치당 픽셀수 |
배율 |
런처 아이콘 크기 |
Ldpi |
120 |
0.75 |
|
mdpi |
160 |
1 |
48*48 |
Hdpi |
240 |
1.5 |
72*72 |
Xhdpi |
320 |
2 |
96*96 |
XXHdpi |
480 |
3 |
144*144 |
XXXhdpi |
640 |
4 |
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/
'안드로이드' 카테고리의 다른 글
Textview 부분 볼드, 색 적용하기 (0) | 2016.07.07 |
---|---|
Context란 (0) | 2016.07.07 |
안드로이드 딜레이 쉽게 구현 (0) | 2016.03.29 |
메인 쓰레드에서 실행 시키기 (0) | 2016.03.29 |
[ux,ui]커스텀 원형 로딩 progressBar 만들기 (1) | 2016.03.17 |