DisplayMetrics를 통해서 density와 densityDpi 값을 구해보면
val density = resources.displayMetrics.density
val densityDpi = resources.displayMetrics.densityDpi
기준이 되는 mdpi로 보면 densityDpi = 160 이므로,
density = 160 / 160 = 1
즉, 1dp = 1px
그렇다면 density = densityDpi / 160 이라는 공식으로
densityDpi가 440 이라면 density는 2.75가 나온다.
※ Px to Dp
val samplePx = 300
val density = resources.displayMetrics.density
val value = (samplePx / density).toInt()
※ Dp to Px
val sampleDp = 100
val density = resources.displayMetrics.density
val value = (sampleDp * density).toInt()
'프로그래밍 > android' 카테고리의 다른 글
[android] Kotlin ArrayList SharedPreferences json data (feat. Gson) (0) | 2021.08.24 |
---|---|
Android 11 Full Screen (0) | 2021.07.29 |
[kotlin] android EditText setMaxLength Programmatically (0) | 2021.06.30 |
[android] Google play HostnameVerifier issue (0) | 2021.06.25 |
[android] imeOptions actionDone 또는 actionSend multiline 적용하기 (IME_ACTION_DONE, IME_ACTION_SEND) (0) | 2021.06.23 |