[Android] 단위 개념 정리

곽지욱·2024년 2월 22일

Andorid

목록 보기
1/5
post-thumbnail

pixel , ppi , dpi

  • pixel (picture element ,화소) : 화면을 구성하는 가장 기본이 되는 단위
  • ppi ( pixel per inch 1인치당 픽셀의 수) : 디스플레이 장치에서의 해상도
  • dpi ( dots per inch, 1인치당 점의 수) : 출력물 상에서의 해상도

DPI 는 무엇일까?

  • 10DPi = 정사각항의 한 면 1inch에 10개의 점이 있고, 총 10x10 = 100개의 점으로 이루어져 있다.

  • PPI와 DPI 는 픽셀이냐 점이냐의 차이지, 해상도를 나타내는 단위로서 결국 같은 맥락이라고 볼 수 있다.

  • PPI나 DPI가 높아질 수록 선명도가 향상되지만 , 용량이 커진다.

스크린의 실제 단위 px

  • PX 단위는 화면의 전체 화면 크기와 상관없이 지정한 수치만큼 표시되는 절대적 표시 단위이므로 안드로이드 에서는 PX 보다는 DP 단위를 사용하는 것이 좋다.

DP (Density-independent Pixel)

  • 밀도 혹은 독립화소라고 번역할 수 있다. 쉽게 말하자면 디스플레이의 해당도와 상관없이 다룰 수 있는 단위라는 뜻이다.

  • 픽셀 단위는 스크린 안에서 정확하지만 현실 세계에서는 사용자가 사용하는 기기마다 표현되는 길이가 다르다.

  • dp 단위를 사용하면 기기마다의 차이를 고민하지 않고도 인터페이스를 디자인 할 수 있는 장점이 있다.

  • 하지만 어떠한 경우에서 dp를 px 단위로 변환해야 할 때가 존재하는데, 그럴 때는 아래 식을 사용할 수 있다.

  • 안드로이드 레이아웃 코드 작성을 할 때는 DP를 사용할 수가 없기 때문임

px = dp * (단말 dpi/160)

안드로이드 UI의 48dp 리듬

  • 안드로이드 가이드라인에는 48dp Rhythm 을 가지고 디자인 하라는 조언이 있다.

  • 이것은 사용자가 손끝으로 터이스크린을 건드렸을 때 접촉하는 평균적인 크기이다..

  • 가끔 height 가 48dp 이상이 아니라는 오류 메시지를 봤었는데 관련이 있었구나..

해상도별 48dp의 픽셀 값


mdpi  _ 48px

hdpi   _ 72px

xhdpi _ 96px

xxhdpi _ 144px

xxxhdpi _ 1920px

SP (Scale-Independent Pixels,배율 독립적 픽셀)

  • sp 는 텍스트 크기를 지정하기 위해 사용하는 단위로서 , dpㅇ와 달리 시스템 설정에 따라 크기가 유동적으로 변한다.

  • 사용자마다 기기 설정에서 글자 크기를 작거나 크게 조절할 수 있기 때문..

  • sp는 주로 TextView의 textSize 를 지정할 때 사용된다. dp는 화면에 따라 크기가 달리지지 않고 고정된 값을 갖지만 sp는 시스템 설정에 따라 textSize가 크거나 작아진다.

  • 반대로 텍스트 크기가 고정되어야 할 때는 dp를 사용하면 된다

결론

  • 레이아웃 크기 : wrap_content , match_parent , 또는 dp 단위를 사용하되 필요에 따라 레이아웃은 dp 대신 px을 사용할 수 있다.

  • 텍스트 크기 : 기기 설정(시스템 설정) 에 따라 크기가 달라지는 sp 단위를 사용하자. 고정할 땐 dp

0개의 댓글