[안드로이드] px, dp, sp 등 크기단위 사용 및 정리
안드로이드 스튜디오를 사용하면서 레이아웃을 구성할 때 책만 살짝 훑어보고 유투브로 야매로 배운 터라 늘 생각없이 dp만을 사용해 왔다. 이번에 차이점이나 단위의 정확한 설명을 알고 사용하도록 하자.
아래의 표는 'Do it! 안드로이드 앱 프로그래밍'의 표를 보고 정리한 것이다.
단 위 |
단위 표현 |
설 명 |
px |
픽셀 |
화면 픽셀의 수 |
dp 또는 dip |
밀도 독립적 픽셀 (density independent pixel) |
160dpi 화면을 기준으로 한 픽셀 |
sp 또는 sip |
축척 독립적 픽셀 (scale independent pixel) |
텍스트 크기를 지정할 때 사용하는 단위임. 가변 글꼴을 기준으로 한 픽셀로 dp와 유사하나 글꼴의 설정에 따라 1sp당 픽셀수가 달라짐. |
in |
인치 |
1인치로 된 물리적 길이 |
mm |
밀리미터 |
1밀리미터로 된 물리적 길이 |
em |
텍스트 크기 |
글꼴과 상관없이 동일한 텍스트 크기 표시 |
이제 대충 이해가 된 것 같다. 그래서 dp는 화면의 해상도를 구성할 때 많이 사용하였던 것이다.
dp를 사용하면 해상도에 따라 일일히 맞춰줄 필요없이 자기가 알아서 그 화면에 맞게 비율이 잡혔던 것이고,
텍스트를 사용할 때도 dp를 사용하였지만, sp를 사용하면 글꼴을 기준으로 하여 픽셀수가 달라지기 때문에 좀 더 유용하다는 사실을 알았다.
in,mm,em,px은 사실상 거의 안쓰인다고 보면 될 것 같다.
요즘 모바일 기기들은 해상도가 기기들마다 거의 다르기 때문에 그 해상도에 다 맞출 수 있기 어렵기에
dp와 sp를 지향하고, px을 지양하는 것이다.
레이아웃 설정 - dp
텍스트 설정 - dp, sp
'IT 개발 > 안드로이드개발' 카테고리의 다른 글
[안드로이드] 권한요청/ 권한설정, 퍼미션체크 (2) | 2018.10.09 |
---|---|
[안드로이드] EditText에서 텍스트입력 한줄로 제한하기(singleLine) (4) | 2018.10.05 |
[안드로이드] 화면고정, 세로모드/가로모드 설정 (0) | 2018.10.05 |
[안드로이드]커스텀 다이얼로그 - ClickListener와 Callback 사용하는 법 (0) | 2018.10.04 |
[안드로이드] 안드로이드 형변환 정리 (0) | 2018.10.02 |
[안드로이드] 사용자정의 다이얼로그(custom dialog) 만드는 방법 (0) | 2018.09.30 |
[안드로이드] 안드로이드 타이틀바, 상태바 없애기 (5) | 2018.09.28 |
[안드로이드] 핸드폰 MAC주소 확인하기 (1) | 2018.09.27 |