-
[Android] 해상도와 dpi, px, dp, dip, spProgramming/Android 2020. 12. 1. 01:08
안드로이드는 아이폰과 달리 다양한 해상도를 지원한다.
1. dpi (Dot Per Inch)
1인치당 픽셀 수.
물리적인 단위인 1inch(2.54cm)에 몇 픽셀이 들어가는가를 나타내는 단위
Low density (120dpi) : ldpi
Medium density (160dpi) : mdpi (기본)
High density (240dpi) : hdpi
Extra High density (320dpi) : xdpi
xxhdpi : 480dpi
xxxhdpi : 640dpi2.px (pixel)
스크린의 실제 픽셀 단위, 실제 크기나 밀도와 관련없다
절대적 표시 단위
mdpi에서 1dp = 1px 이다.
ldpi : 1dp = 0.75px
mdpi : 1dp = 1px
hdpi : 1dp = 1.5px
xdpi : 1dp = 2px
3. dp (dip: Desnity Independent Pixel)
픽셀에 독립적인 단위로 안드로이드의 다양한 해상도를 지원하기 위해 만든 단위.
큰 화면이든 작은화면이든 같은 크기로 나타나게 되어있다.
즉, 화면이 작은 폰에서 10원짜리 만하게 나타난다면,
화면이 큰 폰에서도 10원짜리 만하게 나타나도록 되어있다.
4. sp
dp와 비슷하지만 사용자가 선택한 글꼴 크기에 의해 크기가 조절된다.
레이아웃 등 UI적 요소는 dp단위를 사용하는 것이 좋고, 글자크기에는 sp를 사용하는 것이 좋다.
해상도별 레이아웃에 대응할 때는하나의 레이아웃 파일에 dimens 파일을 해상도 별로 만들어서 관리한다.
ScalealbeLayout라이브러리를 이용하여 해상도별 대응도 방법.
https://github.com/ssomai/ScalableLayout
출처: https://boxfoxs.tistory.com/365 [박스여우 - BoxFox]'Programming > Android' 카테고리의 다른 글
Android Thread (0) 2020.12.18 WebRTC (0) 2020.12.04 Android LifeCycle (0) 2020.11.30 Manifest/Gradle/4대 Component/ConstraintLayout (0) 2020.11.25 [Android] Toolbar Menu Icon Shadow 효과 적용 (2) 2020.11.12