본문 바로가기

Android + Kotlin

손쉽게 Int, Float 를 dp로 변환하는 extension 코드

반응형

개발을 하다보면, 프로그램 코드상에서 dp값을 입력해야 할때가 있습니다.

필요한 부분에서 매번 코드를 길게 사용하는 것도 번거롭고, 코드가 생각이 안날때도 있다보니..

extension으로 만들어 두면 쉽게 사용이 가능합니다.

 

inline val Int.dp: Int
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, this.toFloat(), Resources.getSystem().displayMetrics
    ).toInt()

inline val Float.dp: Float
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, this, Resources.getSystem().displayMetrics
    )

 

 

[사용 방법]

{숫자}.dp

{float 숫자}.dp

 

예> 8.dp 또는 8.5f.dp

 

코드도 짧고, 보기에도 명시적으로 알아보기 편하고 좋은 것 같습니다.

 

 

반응형