Android (Java)
안드로이드 DP, SP, PX
쉬운코딩이최고
2017. 10. 10. 08:30
안녕하세요. 제임스 입니다.
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