ckgod.github Help

Q42) Dp, Sp

Dp와 Sp의 차이점은 무엇인가요?

Android 사용자 인터페이스를 설계할 때, UI 구성 요소가 다양한 화면 크기와 해상도에 어떻게 적응하는지 고려해야 합니다. 이 목적을 위해 사용되는 두 가지 필수 단위는 Dp (Density-independent Pixels)와 Sp (Scale-independent Pixels)입니다. 둘 다 기기 전반에 걸쳐 일관성을 보장하는 데 도움이 되지만, 각기 다른 목적을 가집니다.

Dp란 무엇인가요?

Dp (Density-independent Pixels)는 패딩, 마진, 너비와 같은 UI 요소에 대한 측정 단위입니다. 다양한 화면 밀도를 가진 기기에서 UI 구성 요소의 일관된 물리적 크기를 제공하도록 설계되었습니다. 1 Dp는 160 DPI (dots-per-inch) 화면에서 1 물리적 픽셀과 같으며, Android는 기기의 밀도에 맞춰 Dp를 자동으로 스케일링합니다. 예를 들어, Button의 너비를 100dp로 지정하면, 렌더링에 필요한 픽셀 수는 다르더라도 저밀도 및 고밀도 화면에서 거의 동일한 크기로 나타납니다.

Sp란 무엇인가요?

Sp (Scale-independent Pixels)는 텍스트 크기에 특별히 사용됩니다. Dp와 유사하게 동작하지만, 추가적으로 사용자의 글꼴 크기 선호도를 고려합니다. 이는 Sp가 화면 밀도와 기기의 접근성 설정을 기반으로 텍스트 크기를 조정하므로, 읽기 쉽고 접근 가능한 텍스트를 보장하는 데 이상적입니다. 예를 들어, TextView를 16sp로 설정하면 화면 밀도에 맞게 적절히 스케일링되며, 사용자가 시스템 글꼴 크기를 늘린 경우에도 조정됩니다.

Dp와 Sp의 주요 차이점

주요 차이점은 스케일링 동작입니다.

  1. 목적: Dp는 크기(예: 버튼 크기, 패딩)에 사용하고, Sp는 텍스트 크기에 사용합니다.

  2. 접근성: Sp는 사용자가 정의한 글꼴 크기 선호도를 존중하는 반면, Dp는 그렇지 않습니다.

  3. 일관성: 둘 다 화면 밀도에 따라 스케일링되지만, Sp는 모든 사용자에게 텍스트가 접근 가능하고 읽기 쉽게 유지되도록 보장합니다.

Dp 또는 Sp 사용 시점

  • View의 크기, 마진, 패딩과 같은 UI 구성 요소에는 Dp를 사용하여 기기 전반에 걸쳐 일관된 레이아웃을 유지하세요.

  • 텍스트에는 Sp를 사용하여 시각적 일관성을 유지하면서 사용자 접근성 선호도를 존중하세요.

TL;DR

26 January 2026