티스토리 뷰
안드로이드 스튜디오의 XML을 코딩할때 여러 레이아웃의 크기를 정하는 단위를 뭐로 써야할지 헷갈릴때가 있는데 그 중 많이 혼동이 오는 sp와 dp의 차이점에 대해 알아보자.
PX (Pixel)
화소와 같은뜻이며 게임에서는 도트라고 부르기도한다.
컴퓨터, 티비, 모바일기기 등의 화면 이미지를 구성하는 최소 단위이다.
픽셀수가 많을수록 고해상도의 선명한 이미지표현이 가능하며 가장 일반적으로 사용하는 해상도는 1920*1080px이며 요즘 이슈인 8K는 7680*4320의 픽셀을 가지고있어 엄청난 이미지 품질을 보여준다.
*해상도 : 한 화면에 픽셀이 몇개나 포함되는지를 의미
DP (Density-independent Pixels)
또는 dip라고 불리기도한다.
dp란 물리적인 픽셀의 밀도로부터 독립적인 크기를 가진 단위를 뜻한다.
만약 모두 물리적인 픽셀로만 디자인하게 된다면 ?
여러 디바이스들은 물리적인 픽셀의 수가 각각 다른데 개발할때 사용한 디바이스보다 고해상도를 가진 디바이스에서 앱을 실행시키면 고해상도를 가진 디바이스는 당연히 픽셀의 수가 더 많으므로 텍스트나 버튼의 배치 등 개발자가 의도한 ui에 영향을 끼칠것이다.
이러한 부분을 개선하기 위해 어떠한 디바이스 화면에서도 비슷하게 적용할 수 있는 dp라는 단위를 사용하는것이 좋다.
dp는 160dpi의 1픽셀에 1dp가 매칭한 크기로 디스플레이의 해상도가 달라지면 알아서 유동적으로 바뀌게된다.
SP (Scale-independent Pixels)
또는 sip라고 불리기도한다.
sp는 축척 독립적인 픽셀단위를 뜻하고 가변 글꼴 표시에 최적인 픽셀이다. 이말은 디바이스의 OS설정의 글자크기에 영향을 받는다는 뜻이다.
고로, 언제나 일관적인 글자크기를 유지하고싶다면 텍스트 단위를 dp로 하고, 시스템설정에 따라 크기를 변경하고 싶다면 단위를 sp로 사용하면 된다.
'안드로이드 스튜디오 전체 > 안드로이드 스튜디오' 카테고리의 다른 글
안드로이드 스튜디오 디자인 지원 라이브러리 추가하기 (2) (0) | 2020.09.14 |
---|---|
Android Studio 버튼에 둥근 테두리 만들기 (0) | 2020.09.09 |
안드로이드 디자인 지원 라이브러리 사용하기 (0) | 2020.09.07 |
안드로이드 스튜디오 디자인 지원 라이브러리 추가하기 (0) | 2020.09.03 |
안드로이 스튜디오 ScrollView내에 ListView를 적용시 주의사항 (0) | 2020.05.29 |
- 총 방문자
- 오늘 방문
- 어제 방문