Px, Dp, Sp에 대해 알아보기
1. Px (Pixel)
Px이란 화면을 구성하는 최소 단위를 의미합니다, 이는 화면의 크기와 상관없는 절대적 표시 단위입니다.
즉 동일한 Px값은 모든 기기에서 물리적으로 같은 크기를 유지합니다.
- 주의: Android환경에서 Px단위를 사용하여 개발한다면, 기기 화면밀도에 따라 표시되는 UI의 크기가 달라질 수 있습니다.
2. Dpi (Dot Per Inch)
Dpi는 1인치당 들어가는 픽셀 수를 의미합니다. 예를 들어, 100 dpi는 1인치에 100개의 픽셀이 들어가는 것을 의미합니다. 이는 화면 밀도를 나타내는 지표로, Android에서는 아래와 같은 주요 dpi를 사용합니다:
- ldpi: 저밀도 (120dpi)
- mdpi: 중밀도 (160 dpi, 기준 밀도)
- hdpi: 고밀도 (240 dpi)
- xhdpi: 초고밀도 (320 dpi)
- xxhdpi: 초초고밀도 (480 dpi)
- xxxhdpi: 초초 초고밀도 (640 dpi)
Android에서는 이러한 여러 화면밀도에 대응하기 위해 Vector Drawable이나 밀도별 이미지를 넣을 수 있는 기능을 제공합니다.
3. Dp (Density-independent Pixel)
Dp는 화면 밀도에 독립적인 단위입니다. Android 환경에서는 다양한 기기에서 동일한 크기를 유지하기 위해 Dp 단위를 사용합니다.
- 특징: 화면 밀도가 160 dpi인 경우, 1dp는 1px과 동일하게 적용됩니다.
- 사용 예시: UI 요소를 Dp 단위로 정의하면 다양한 화면 크기와 해상도에서도 일관된 비율을 유지할 수 있습니다.
DP -> PX, PX -> DP 공식
- px = dp * 단말 DPI / 160
- dp = px * 160 / 단말 DPI
4. Sp (Scale-independent Pixel)
Sp는 텍스트 크기를 지정하기 위해 사용하는 단위입니다. 시스템의 텍스트 크기 설정을 변경하면 Sp로 지정된 글자 크기도 함께 변합니다.
- 만약 앱 내의 텍스트들이 시스템 폰트 크기설정에 영향을 받지 않도록 하고 싶다면 Dp단위를 사용하여 막을 수 있습니다.
마무리
오늘은 Android의 UI에 사용되는 기본 개념인 Px, Dp, Sp에 대해 알아보았습니다.
오늘도 글 읽어주셔서 감사합니다, 글에 대한 피드백은 언제나 환영입니다!
'Android' 카테고리의 다른 글
[Android/Basic] 3. Activity의 State Changes 알아보기 (0) | 2024.08.21 |
---|---|
[Android/Basic] 2. Activity의 LifeCycle 알아보기 (3) | 2024.07.22 |
[Android/Basic] 1. Android 4대 컴포넌트 알아보기 (1) | 2024.07.22 |
[Android/Thread] 2. Thread간의 통신과정 알아보기 (1) | 2024.06.05 |
[Android/Thread] 1. Android의 Thread환경 (0) | 2024.05.16 |