/**
* @author AcmenXD
* @version v1.0
* @github https://github.com/AcmenXD
* @date 2016/11/22 14:36
* @detail 单位转换
*/
/**
* 根据手机的分辨率从 dp 的单位转成 px(像素)
*/
public static float dp2px(Context pContext, float dp) {
return dp2px(pContext.getResources(), dp);
}
public static float dp2px(Resources resources, float dp) {
final float scale = resources.getDisplayMetrics().density;
return dp * scale + 0.5f;
}
/**
* 根据手机的分辨率从 px(像素)的单位转成 dp
*/
public static float px2dp(Context pContext, float px) {
return px2dp(pContext.getResources(), px);
}
public static float px2dp(Resources resources, float px) {
final float scale = resources.getDisplayMetrics().density;
return px / scale + 0.5f;
}
/**
* 根据手机的分辨率从 sp 的单位转成 px(像素)
*/
public static float sp2px(Context pContext, float sp) {
return sp2px(pContext.getResources(), sp);
}
public static float sp2px(Resources resources, float sp) {
final float scale = resources.getDisplayMetrics().scaledDensity;
return sp * scale + 0.5f;
}
/**
* 根据手机的分辨率从 px(像素)的单位转成 sp
*/
public static float px2sp(Context pContext, float px) {
return px2sp(pContext.getResources(), px);
}
public static float px2sp(Resources resources, float px) {
final float scale = resources.getDisplayMetrics().scaledDensity;
return px / scale + 0.5f;
}
Android 单位转换
最新推荐文章于 2021-05-26 05:41:09 发布