像素工具类

/**
 * 像素工具类
 */
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