안드로이드/Android-Dev

Android # 크기 표시 단위(px, dp, sp, em)

크기 표시 단위(px, dp, sp, em)

단위 단위표현 설명
px 픽셀 화면 픽샐의 수
dp 밀도 독립적 픽셀(density independent pixel) 160dpi 화면을 기준으로 한 픽셀
sp 축척 독립적 픽셀(scale independent pixel) 텍스트 크기를 지정할 때 사용하는 단위.
em 텍스트 크기 글꼴과 상관없이 동일한 텍스트 크기 표시

dp는 해상도에 비례하는 비슷한 크기로 보이게 할 때 사용한다. dp를 사용하면 해상도가 160dpi인 작은 화면에서는 20픽셀이던 버튼 크기를 320dpi인 약간 큰 화면에서는 40픽셀의 크기로 보애게 한다. 따라서, 해상도별로 일일이 크기를 다시 지정핮지 않아도 된다. dp는 뷰의 크기 뿐만 아니라 텍스트의 크기를 지정하는 데도 사용된다. sp는 글꼴을 기준으로 한 텍스트 크기를 나타내므로 뷰의 크기에는 사용되지 않는다. 글자를ㄹ 표시하는 텍스트뷰나 버튼의 텍스트 크기는 sp 단위 사용을 권장한다. 왜냐하면 사용자가 단말기의 설정에서 글꼴이나 폰트 크기를 바꾸는 경우가 있는데, sp 단위를 사용해야 설정에 맞추어 글자 크기가 바뀌기 때문이다.

예를 들어, 일반적인 스마트폰 크기(3~4인치)의 단말과 태블릿 크기(7~10인치)의 단말은 화면 크기와 해상도가 다르지만 이 화면의 중앙에 버튼을 배치하고 화면의 절반 크기로 보여주고 싶을 때, dp 단위를 쓰면 두 개 단말에서 비슷한 크기로 보이도록 자동으로 맞춰준다.

뷰에는 dp, 글자 크기에는 sp 단위를 사용하는 것이 좋다.

실제로 앱 화면을 만들 때는 dp 단위를 주로 사용한다. 안드로이드 단말은 다양한 화면 크기와 해상도를 가지고 있는데 dp 단위를 사용하면 단말의 해상도에 따라 비율로 픽셀 값이 게산되므로 대부분의 화면에서 비슷한 크길로 보이게 만들 수 있다.
텍스트의 크기를 지정할 때는 sp를 권장한다. 텍스트 크기에 dp를 지정한다고 해서 문제가 생기지는 않지만, sp 단위를 사용해야 단말의 글꼴 설정에 맞추어 표시되는 글자 크기가 바뀔 수 있다.

'안드로이드 > Android-Dev' 카테고리의 다른 글

Android # java file에서 layout 생성  (0) 2019.12.14
Android # 상태 드로어블 적용  (0) 2019.12.13
Android # drawable 폴더(해상도)  (0) 2019.12.13
Android # View 와 View group  (0) 2019.12.12
Android # Hello Project  (0) 2019.12.12