티스토리 뷰
이번 포스팅에서는 Android display 단위에 대해 알아보자.
px (pixel)
화면에 표시되는 점 하나의 단위
◼ 안드로이드 내부적으로는 모든 단위를 px 로 변환하여 사용한다.
하지만, 다양한 디바이스의 해상도를 고려하지 않고 pixel 을 사용한다면 각 화면에 맞춰 다르게 나올 것이다.
따라서, 개발자들은 pixel 사용을 배제해야 한다.
(가급적 하단에서 설명할 dp 를 사용하자)
각 다른 해상도의 단말에 px 단위를 사용한 경우
◼ dip = pixel / (density/160)
Density or dpi (Dots Per Inch)
1 인치당 pixel 의 수
◼ Android 에서는 160 dpi(mdpi) 를 기본으로 한다.
dp or dip (density-independent pixels)
상대적인 밀도 독립 픽셀
◼ 같은 dip 를 사용하면 디바이스의 해상도가 달라도 동일한 크기로 보여진다.
따라서, 개발 시 px 보다는 dip 를 사용하는 것이 유리하다.
하지만, dip 단위가 모든 디바이스의 해상도를 만족시키지는 않는다.
(너무 다양한 해상도의 단말기가 출시되고 있기 때문)
각 다른 해상도의 단말에 px 단위를 사용한 경우
각 다른 해상도의 단말에 dp 단위를 사용한 경우
◼ 1 dip 는 density 수치에 따라 대응하는 pixel 의 수치가 달라진다.
◼ pixel = (dip * (density/160)) + 0.5
하단 method 를 이용하면 위의 계산식을 사용하지 않고 pixel 값을 구할 수 있다.
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, DIP 값, getResources().getDisplayMetrics());
sp (scale-independent pixels)
본 치수는 font 의 크기 설정에 사용된다.
◼ pixel = (FontScale * (Density / 160)) * sp
pt (point)
화면의 1/72 인치를 1 point 로 하는 길이 단위로 인쇄 관련 단위
◼ pixel = pt * density * (1.0f / 72)
in (inch)
화면에서 인치의 길이
◼ pixel = in * density
mm (millimeter)
화면에서 밀리미터 단위의 길이
◼ pixel = mm * density * (1.0f / 25.4f)
'Android' 카테고리의 다른 글
Shape Drawable (0) | 2020.01.17 |
---|---|
Multidex 적용하기 (0) | 2020.01.14 |
Google Drive REST API v3 for Android (2) (0) | 2019.12.05 |
Android studio 로 SHA1 key 쉽게 알아내기 (0) | 2019.12.02 |
Google Drive REST API v3 for Android (1) (0) | 2019.11.27 |
- Total
- Today
- Yesterday
- task
- p2e
- android intent
- Android Service
- StartService
- bindservice
- android flag activity
- onContextItemSelected
- 리워드앱
- 무료 채굴
- 앱테크 추천
- 안드로이드 서비스
- android task
- android activity flag
- StringUtils
- task 생성
- BroadcastReceiver
- RoomDatabase
- 안드로이드 인텐트
- 채굴앱
- WEMIX
- 무료채굴
- mPANDO
- notifyDataSetChanged
- 리워드 어플
- onCreateContextMenu
- Intent
- 앱테크
- registerForContextMenu
- M2E
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |