안녕하세요. 제임스 입니다. 


Android 개발 중에 DP, SP, PX 등의 치수 단위를 많이 보게 됩니다. 

일전에 개념 정리한 내용이 있으니 참조 하시면 좋을 것 같구요.

http://jamesdreaming.tistory.com/41


이번에는 이 단위 변환 방법에 대해 정리해 보겠습니다. 



■ DP 를 PX 로 변환

import android.util.DisplayMetrics;
import android.util.TypedValue;
public static int convertDpToPixels(float dp, Context context) {
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics());
return px;
}



■ SP 를 PX 로 변환

public static int convertSpToPixels(float sp, Context context) {
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
return px;
}



■ DP 를 SP 로 변환???

public static int convertDpToSp(float dp, Context context) {
int sp = (int) (convertDpToPixels(dp, context) / (float) convertSpToPixels(dp, context));
return sp;
}

코드를 위와 같이 작성 하긴 했지만 실제로 사용할 일이 없습니다. 


sp 는 텍스트 사이즈를 정의 할때 사용하고 dp 는 그 이외 모든 사이즈를 정의할때 사용합니다. 

만약 텍스트 사이즈를 dp 로 정의 했다면 문제가 될 수도 있겠지만 sp 로 정의 했다면 특별히 문제가 될 것은 없을 것이며 변환식 자체가 의미 없습니다. 



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D


블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,