본문 바로가기
Android/안드로이드 기본지식

[Android] sp에서 dp로 변환, dp에서 sp로 변환

by 붕어사랑 티스토리 2022. 7. 13.
반응형

https://stackoverflow.com/questions/29664993/how-to-convert-dp-px-sp-among-each-other-especially-dp-and-sp

 

How to convert DP, PX, SP among each other, especially DP and SP?

I have known the difference among DP, SP and PX. And after searching this topic, I found nothing satisfying me completely. Maybe this post is a duplicate, but I still want to know what is the formu...

stackoverflow.com

 

 

위 사이트를 참고하면

 

 

px = dp*density

sp = px*scaledDensity

 

이다

 

이를 정리하면

 

dp = (sp*scaledDensity)/Density

 

가 된다

 

 

 

코드상으로 나타내면 아래오 같이 되시겠다

float sp = 20;
float dp = (sp * getResources().getDisplayMetrics().scaledDensity)/getResources().getDisplayMetrics().density;

 

 

 

반응형

 

반대로 dp에서 sp는 양변에 density/scaledDensity를 곱해주면 된다

 

float dp = 20;
float sp = (dp * getResources().getDisplayMetrics().density)/getResources().getDisplayMetrics().scaledDensity;
반응형

댓글