常用的扩展函数

58 阅读1分钟
infix fun <T> Boolean.then(value: T): T? = if (this) value else null  
infix fun <T> Boolean.then(block: () -> T): T? = if (this) block() else null
/**
 *  val width = 360.w     // 按照设计稿比例换算成 px
    val padding = 16.dp   // dp 转 px
 */

val Int.w: Int
    get() = (this * application.resources.displayMetrics.widthPixels / DESIGN_WIDTH.toFloat()).toInt()

val Float.dp: Int
    get() = (this * application.resources.displayMetrics.density + 0.5f).toInt()

val Int.dp: Int
    get() = (this * application.resources.displayMetrics.density + 0.5f).toInt()

object EditConfig {
    const val DESIGN_WIDTH = 375  // 设计稿宽度
}