안드로이드에서 사용하는 단위 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 길이
리소스 유형 더보기 | Android 개발자 | Android Developers
이 페이지는 표면화할 수 있는 더 많은 리소스 유형을 정의합니다(예: XML로 정의된 부울 값). 속성 없음. 이 애플리케이션 코드는 부울을 가져옵니다. 이 레이아웃 XML은 속성에 부울을 사용합니
developer.android.com
다양한 픽셀 밀도 지원 | Android 개발자 | Android Developers
다양한 픽셀 밀도 지원 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 기기는 다양한 화면 크기(핸드셋, 태블릿, TV 등)로 제공될 뿐만 아니라 화면의
developer.android.com
'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 |