How to get real screen height and width?

前端 未结 3 823
攒了一身酷
攒了一身酷 2020-12-04 15:51
DisplayMetrics metrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(metrics);
screenWidth = metrics.widthPixels;
screenHeight = met         


        
3条回答
  •  南方客
    南方客 (楼主)
    2020-12-04 16:09

    You can find real device dimensions with either using Display or DisplayMetrics

    Using Display:

    private void findRealSize(Activity activity)
    {
        Point size = new Point();
        Display display = activity.getWindowManager().getDefaultDisplay();
    
        if (Build.VERSION.SDK_INT >= 17)
            display.getRealSize(size);
        else
            display.getSize(size);
    
        int realWidth = size.x;
        int realHeight = size.y;
    
        Log.i("LOG_TAG", "realWidth: " + realWidth + " realHeight: " + realHeight);
    }
    

    Using DisplayMetrics:

    private void findRealSize(Activity activity)
    {
        DisplayMetrics displayMetrics = new DisplayMetrics();
    
        if (Build.VERSION.SDK_INT >= 17)
        {
            activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
        }
        else
        {
            activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        }
    
        int realWidth = displayMetrics.widthPixels;
        int realHeight = displayMetrics.heightPixels;
    
        Log.i("LOG_TAG", "realWidth: " + realWidth + " realHeight: " + realHeight);
    }
    

提交回复
热议问题