안드로이드에서 사용하는 단위 6가지를 비교해보자.
dp, sp, pt, px, mm, in이 있다.
기본 지식
픽셀(pixel)은 무엇일까?
디스플레이 화면의 최소단위이다.
11.0인치
2388 x 1668 display
264ppi
11.0인치 : 화면의 물리적인 크기를 나타낸다. (대각선 길이)
2388 x 1668 : 화면의 픽셀 수(가로x세로)
264ppi : pixel per inch; 1인치 안에 들어있는 픽셀 수, dpi(dot per inch)라고 쓰기도 한다.
안드로이드의 크기 단위
dp
Density-independent Pixel
dp = px * (160dpi / 기기 dpi)
위와 같은 식을 통해 구할 수 있다.
이렇게 해상도가 다른 2개의 휴대폰이 있을 때,
pixel로 크기를 정의하면 휴대폰마다 보이는 크기가 달라지게 된다.
dp는 화면의 해상도에 상관없이 이미지를 같은 비율로 표시할 수 있다.
안드로이드에서는 160dpi 를 기준으로 사용하며, 이때 1dp는 대략 1px과 같다.
화면의 밀도가 160dpi보다 늘어난다면 사용되는 pixel수는 화면의 dpi에 따라 확장된다.
화면에 상관없이 같은 비율로 보이는 단위
sp
텍스트의 크기에 사용되는 단위로 dp 단위와 같다.
다만, 시스템 글꼴 설정에따라 크기가 달라질 수 있는 단위이다.
pt
화면 밀도와 상관없이 모든 기기에서 1pt = 1/72 inch 이다.
72pt = 1 inch
px
화면에 실제 픽셀에 대응되는 단위
in, mm
실제 물리적인 inch, mm 길이
'Programming > 플랫폼' 카테고리의 다른 글
[Andriod] Webview 안에서 Push Notification으로 페이지 로드하기 (0) | 2023.03.06 |
---|---|
[Android] 웹 뷰 로딩 오류 (0) | 2023.03.04 |
[Android] ASyncTask Scope (0) | 2023.03.04 |
[Android] SDK 25 (AOS7.1) 이하에서 알림 안보임 문제 해결 (0) | 2023.03.03 |
[Android] Constraint Layout (0) | 2023.03.03 |