安卓和鸿蒙获取屏幕宽高的方法

1,892 阅读1分钟

一、安卓获取屏幕宽高

  1. 通过Resources对象获取 DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
    float widthPixels = displayMetrics.widthPixels; // 屏幕宽度
    float heightPixels = displayMetrics.heightPixels; // 屏幕高度
    float density = displayMetrics.density; // 屏幕密度

  2. 通过WindowManager对象获取 WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(displayMetrics);
    float widthPixels = displayMetrics.widthPixels; // 屏幕宽度
    // float widthPixels = windowManager.getDefaultDisplay().getWidth(); // 屏幕宽度
    float heightPixels = displayMetrics.heightPixels; // 屏幕高度
    // float heightPixels = windowManager.getDefaultDisplay().getHeight(); // 屏幕高度
    float density = displayMetrics.density; // 屏幕密度

二、鸿蒙获取屏幕宽高 DisplayAttributes attributes = DisplayManager.getInstance().getDefaultDisplay(getContext()).get().getRealAttributes();

attributes.height 屏幕高度
attributes.width 屏幕宽度
attributes.xDpi xDPI
attributes.yDpi YDPI
attributes.densityPixels 密度
attributes.densityDpi DPI密度
attributes.scalDensity 缩放密度