2020-05-06 代码中数字直接转换成px的dp2px方法

2020-05-06  本文已影响0人  风雪守候

kotlin写法

//直接写在文件的根目录下,不要定义在类内部
fun Float.dp2Px(): Int {
    val scale: Float = Resources.getSystem().displayMetrics.density
    return (this * scale + 0.5f).toInt()
}

上面的写法是Float类型的扩展方法,定义完上面的方法之后,使用方法如下:

20f.dp2Px()
或
20.5f.dp2Px()

如果你确定不需要小数类型的转换,可以直接写成Int的扩展

fun Int.dp2Px(): Int {
    val scale: Float = Resources.getSystem().displayMetrics.density
    return (this * scale + 0.5f).toInt()
}

使用方法如下:

20.dp2Px()
上一篇 下一篇

猜你喜欢

热点阅读