android如何获取屏幕正是宽高像素?

今天想做适配,突然发现通过代码获取的宽高不太对劲

1080x1920的手机,3120x1440的手机,2880x1440的手机,获取到的宽度均为1080,高度虽然不一样但也和手机参数不一致。应该如何正确获取宽高参数?

尝试过的代码如下

    WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
    DisplayMetrics dm = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(dm);
    width = dm.widthPixels;         
    height = dm.heightPixels;

            playMetrics outMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getRealMetrics(outMetrics);
    int width = outMetrics.widthPixels;
    int height

你可以试试设置一个view的宽为widthPixels看看能不能全屏


public static  float getHeightInPx(Context context) {
        final float height = context.getResources().getDisplayMetrics().heightPixels;
        return height;
    }

    public static  float getWidthInPx(Context context) {
        final float width = context.getResources().getDisplayMetrics().widthPixels;
        return width;
    }