안드로이드 UI 디자인: DPI, DIP(DP) 개념
Source
Evernote/Technote scraps/안드로이드 앱 개발자가 제안하는 디자인 방법론 - 3. DPI, DIP(DP) 개념.md
Summary
안드로이드는 다양한 화면 해상도와 밀도를 지원하므로, 절대 단위인 px 대신 장치 독립 픽셀인 dp(dip)를 사용하여 일관된 UI 크기를 유지해야 한다. dp는 기준 밀도(mdpi, 160dpi)를 기준으로 다른 밀도(ldpi, hdpi, xhdpi 등)에서 스케일링된다. 이미지 리소스는 밀도별 폴더(drawable-mdpi, drawable-hdpi 등)에 배치하면 시스템이 자동으로 스케일링하지만, 정수 픽셀 변환 오차나 제조사 규격 불일치로 인한 미세한 크기 차이가 발생할 수 있으므로, 완벽한 일관성을 위해서는 동적 레이아웃 구성이 필수적이다.
Key Points
- px(픽셀)은 절대 단위로, 해상도가 높은 기기에서 요소가 상대적으로 작게 보이며 화면 여백이 생길 수 있다.
- dp(dip, Device Independent Pixel)는 기준 밀도(mdpi)를 기준으로 화면 밀도에 따라 크기가 스케일링되는 상대 단위이다.
- 안드로이드는 ldpi(120), mdpi(160), hdpi(240), xhdpi(320) 등 밀도별 가이드라인을 제공하며, 리소스를 해당 밀도 폴더에 배치하면 자동 스케일링된다.
- 스케일링 시 정수 픽셀 변환으로 인한 오차(예: 159.9px -> 160px)가 발생할 수 있으며, 이는 제조사의 DPI 규격 불일치 시 더 두드러질 수 있다.
- 자동 스케일링에 의존하기보다, 다양한 화면 크기와 밀도를 고려한 동적 레이아웃 설계가 필요하다.