Android dp转px
2021-04-15 本文已影响0人
简雨山舍
方法一:方法转换
/**
* 根据手机的分辨率将dp转成为px。
*/
fun dp2px(dpValue: Float): Float {
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dpValue,Resources.getSystem().displayMetrics)
}
TypedValue.applyDimension方法可以将所有类型的数据转换为px
参数1:输入的value类型
参数2:要转换的数值
参数3:Resources.getSystem().displayMetrics(很多人用的是Context.displayMetrics,需要把context传递过来,这里可以用Resources.getSystem方法会更好)
方法二:kotlin扩展函数
val Float.px
get() = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,this ,Resources.getSystem().displayMetrics)
使用的时候:例如将100f转为px ,这样写即可100f.px