일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Unity
- 개발
- 유니티
- Kotlin
- 서브모듈 pull
- DataBinding
- 쿼터뷰
- Android
- Android Studio
- 목서버
- 서브모듈 sourcetree
- 안드로이이드 submodule
- 앱
- submodule sourcetree
- 앱개발
- github
- 티스토리
- github submodule
- 게임개발
- 코틀린
- 2d게임
- java
- 타이쿤
- GIT
- 안드로이드
- 카페오냥
- gitlab submodule
- 내 맘대로 정리한 안드로이드
- 안드로이드개발
- firebase
- Today
- Total
Uing? Uing!!
[내 맘대로 정리한 안드로이드] dp와 sp: 폰트 크기로 무엇을 써야 하는가? 본문
dp, sp, px
안드로이드에서 폰트 크기를 설정할 때 나는 일반적으로 sp를 사용한다.
다만 실제 디자인에서는 상황에 따라 sp가 아닌 dp, 심지어 px를 사용하는 경우도 있다.
안드로이드 개발자 문서에서는 dp와 sp, px에 대해 이렇게 설명한다.
dp (밀도 독립형 픽셀)
- 화면의 물리적인 밀도에 기반한 추상적인 단위입니다. 이 단위는 160dpi(인치당 도트 수) 화면에 상대적이며 화면에서 1dp는 대략 1px와 같습니다. 더 높은 밀도의 화면에서 실행한다면 1dp를 그리는 데 사용되는 픽셀의 수는 화면의 dpi에 적절한 배율로 확장됩니다. 마찬가지로 더 낮은 밀도 화면에서 실행한다면 1dp에 사용되는 픽셀 수는 축소됩니다. dp 대 픽셀의 비율은 화면 밀도에 따라 달라지지만, 반드시 정비례하는 것은 아닙니다. dp 단위(px 단위 대신)를 사용하는 것은 레이아웃에서 뷰 크기를 다양한 화면 밀도에 따라 적절하게 조절하는 간단한 해결 방법입니다. 즉, 다양한 기기에서 UI 요소의 실제 크기에 일관성을 부여합니다.
sp (배율 독립형 픽셀)
- dp 단위와 같지만, 사용자의 글꼴 크기 환경설정에 의해 확장되기도 합니다. 글꼴 크기를 지정할 때 화면 밀도와 사용자의 환경설정 모두에 따라 조정되도록 이 단위를 사용하는 것이 좋습니다.
px (픽셀)
- 화면의 실제 픽셀에 대응됩니다. 실제 표현은 기기에 따라 다를 수 있으므로 이 측정 단위는 권장되지 않으며 각 기기는 인치당 서로 다른 픽셀 수를 가질 수 있고 화면에서 사용할 수 있는 총 픽셀 수는 더 많거나 적을 수 있습니다.
폰트를 사용할 경우에는?
앞에서 알 수 있듯이, 구글에서는 폰트 크기에 sp를 권장하고 있다.
시스템의 글꼴 크기가 반영되어 접근성을 높이기 때문이다.
다만 접근성보다 뷰 크기와의 일치감이 우선시되는 경우라면 dp를 사용할 수도 있으므로,
애매하다면 디자이너분의 결정에 따르면 될 듯.
'Android' 카테고리의 다른 글
[내 맘대로 정리한 안드로이드] LiveData의 데이터 누락: Observer는 '모든' 이벤트를 100% 받아올 수 있을까? (0) | 2021.07.16 |
---|---|
[안드로이드 팁] Inspect Code: 프로젝트 내의 모든 Lint 확인하기 (0) | 2021.03.31 |
[안드로이드 삽질기록] java.lang.AbstractMethodError가 발생하는 경우 (0) | 2020.12.17 |
[안드로이드 팁] WebView에서 window.close() 이벤트 받아서 창 닫기 (0) | 2020.12.17 |
[안드로이드 팁] dp to px 변환하는 방법 (0) | 2020.12.13 |