티스토리 뷰

Android/Kotlin

[Kotlin] dp와 px

혀가 길지 않은 개발자 2021. 5. 25. 20:54

dp와 px 지긋지긋하다.


px : 화면을 구성하는 최소 단위 (px = dp * dpi / 160)

DPI : 1인치에 들어가는 px을 나타내는 단위 (Dot Per Inch) (100dpi = 1인치에 100px)

dp : 픽셀 독립 단위 (dp = px * 160 / dpi)

  • ldpi : 120dpi
  • mdpi : 160dpi (기본) (1dp = 1px)
  • hdpi : 240dpi
  • xhdpi : 320dpi
  • xxhdpi : 480dpi
  • xxxhdpi : 640dpi

hdpi

dpi : 240

ImageView 사이즈 : 400px / 400px

TextView 사이즈 : 100px

 

440dpi

dpi : 440

ImageView 사이즈 : 400px / 400px

TextView 사이즈 : 100px

 

이래서 dp를 사용하는 게 좋다. dp로 설정했을 때 차이를 보자.

 

 

hdpi

dpi : 240

ImageView 사이즈 : 200dp / 200dp

TextView 사이즈 : 40dp

440dpi

dpi : 440

ImageView 사이즈 : 200dp / 200dp

TextView 사이즈 : 40dp

 

이래서 dp를 사용하는 게 좋다. 비율이 맞다.


 

dp 와 px 간 변환


Resources.getSystem().displayMetrics.density (dpi / 160)

dp <-> px 둘 다 가능

 

TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, resources.displayMetrics).roundToInt()

얘는 dp To px 만 가능.

 

 

 

'Android > Kotlin' 카테고리의 다른 글

[Kotlin]  위치 권한  (0) 2021.05.27
[Kotlin]  View  (0) 2021.05.25
[Kotlin] CoordinatorLayout  (0) 2021.05.24
[Kotlin] CollapsingToolbarLayout  (0) 2021.05.24
[Kotlin] Navigation  (0) 2021.05.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함