/**
* 像素工具类
*/
public class PixelUtils {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
* @param context 上下文
* @param dpValue dp值
* @return px值
*/
public static int dip2px(Context context,float dpValue){
// 获取当前手机的像素密度
float scale=context.getResources().getDisplayMetrics().density;
// 四舍五入取整
return (int)(dpValue*scale+0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
* @param context 上下文
* @param pxValue px值
* @return dp值
*/
public static int px2dip(Context context,float pxValue){
// 获取当前手机的像素密度
float scale=context.getResources().getDisplayMetrics().density;
// 四舍五入取整
return (int)(pxValue/scale+0.5f);
}
/**
*获得屏幕的宽度
* @param context 上下文
* @return 屏幕宽度
*/
public static int getScreenWidth(Context context){
// 从系统服务中获取窗口管理器
WindowManager windowManager= (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
// 从默认显示器中获取显示参数保存到dm对象中
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
// 返回屏幕的宽度数值
return displayMetrics.widthPixels;
}
/**
*获得屏幕的高度
* @param context 上下文
* @return 屏幕高度
*/
public static int getScreenHeight(Context context){
// 从系统服务中获取窗口管理器
WindowManager windowManager= (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
// 从默认显示器中获取显示参数保存到dm对象中
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
// 返回屏幕的高度数值
return displayMetrics.heightPixels;
}
/**
* 获得屏幕的像素密度
* @param context 上下文
* @return 屏幕像素密度
*/
public static float getScreenDensity(Context context){
// 从系统服务中获取窗口管理器
WindowManager windowManager= (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
// 从默认显示器中获取显示参数保存到dm对象中
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
// 返回屏幕的像素密度数值
return displayMetrics.density;
}
}
像素工具类
猜你喜欢
转载自blog.csdn.net/m0_48440239/article/details/113919550
今日推荐
周排行