본문 바로가기
안드로이드

[안드로이드] 꼭 알아야 할 크기 단위 총정리(dp, px, sp) - 개념, 예시, 차이점, 비교

by Best Coding 2024. 12. 30.
반응형

안드로이드 크기 단위 총 정리

 

 

 

안드로이드 개발을 하다 보면 dp, px, sp와 같은 다양한 크기 단위를 접하게 됩니다. 개발 시 어떤 단위를 써야할 지 헷갈리는 경우가 많아서 자주 구글링을 하곤 합니다.  이 글에서는 각각의 단위가 무엇인지, 어떻게 사용해야 하는지, 각각의 단위의 차이점이 무엇인지, 그리고 올바르게 활용하기 위한 팁과 주의사항을 총 정리해서 앞으로 헷갈리지 않도록 도와드리겠습니다. 


 

1. px (픽셀, Pixel)

  • 개념: px은 화면의 실제 물리적 픽셀을 기준으로 한 단위입니다. 1px은 디스플레이의 가장 작은 단위이며, 디바이스의 해상도에 따라 크기가 고정됩니다.
  • 주의점: px은 디바이스마다 해상도가 다르기 때문화면 크기가 동일하더라도 화면 밀도(density)에 따라 요소 크기가 달라 보일 수 있습니다. 이로 인해 다양한 디바이스에서 일관된 UI를 구현하기 어렵습니다.
반응형

 

 

2. dp (Density-independent Pixel)

  • 개념: dp는 화면 밀도와 무관하게 동일한 크기를 유지하도록 설계된 단위입니다. 1dp는 약 160dpi(중간 밀도)의 디바이스에서 1px과 동일합니다.
  • 장점: 다양한 화면 크기와 밀도를 가진 디바이스에서 UI 요소 크기를 일관되게 유지할 수 있습니다.

 

 

3. sp (Scale-independent Pixel)

  • 개념: sp는 텍스트 크기를 정의할 때 사용되는 단위로, dp와 비슷하지만 사용자의 폰트 크기 설정에 따라 스케일링됩니다.
  • 장점: 접근성을 고려한 디자인이 가능하며, 사용자가 설정한 폰트 크기에 따라 텍스트가 적절히 조정됩니다.
  • 주의점: 텍스트가 화면을 초과하지 않도록 크기 제한을 함께 설정하는 것이 중요합니다.

 

 

4. dp, px, sp 비교

단위용도디바이스 밀도 의존 여부텍스트 크기 설정접근성 고려

단위 용도 디바이스 밀도 의존 여부 폰트에 따른 스케일링
px 물리적 픽셀 단위 O X
dp 화면 밀도와 무관한 크기 설정 X X
sp 텍스트 크기 설정 단위 X O

 

 

5. 어떤 단위를 선택해야 할까?

  1. 텍스트 크기: 기본적으로는 sp를 사용하는 게 좋습니다. 다만, 폰트 크기에 상관없이 똑같은 사이즈로 화면에 텍스트가 나타나야 하는 경우에는 dp를 사용해야 합니다. 
  2. 뷰 크기 및 간격: dp를 사용하세요. 다양한 화면 크기와 밀도에서도 일관성을 유지할 수 있습니다.
  3. 특정한 픽셀 단위로 정의해야 하는 경우: px를 사용하는 것이 좋지만, 가능하면 dp로 변환해 사용하세요.

 

 

6. 자주 묻는 질문 (FAQ)

  • Q1. dp와 sp의 차이는 무엇인가요? A: dp는 화면 밀도와 독립적인 크기 단위이며, sp는 dp의 특성에 더해 사용자의 폰트 크기 설정을 고려한 텍스트 전용 단위입니다.
  • Q2. 왜 px 대신 dp를 사용해야 하나요? A: px은 화면 밀도에 따라 크기가 달라지므로 다양한 디바이스에서 일관된 UI를 구현하기 어렵기 때문입니다.
  • Q3. 모든 텍스트에 sp를 사용해야 하나요? A:  기본적으로는 sp를 사용하는 게 좋습니다. 다만, 폰트 크기에 상관없이 똑같은 사이즈로 화면에 텍스트가 나타나야 하는 경우에는 dp를 사용해야 합니다. 
반응형

댓글