zoukankan      html  css  js  c++  java
  • [Android]如何获取设备真实尺寸

    很多人都知道使用WindowManager.getDefaultDisplay.getDisplayMetrics(DisplayMetrics met)方法来获取屏幕宽度,但是这样其实是不一定准确的,因为有时候,会有小窗口(Virtual Display的存在)。

    这样的话,我们就需要找出所有Display中尺寸最大的,把它当做设备的真实尺寸(可能会有比真实尺寸更大的Display,没具体确认过,这种情况本方法就不适用了)

    代码如下:

        private static Point getPhysicalScreenSize(Context context){
            Point p = new Point();
            DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
            Display[] displays = dm.getDisplays();
            int maxWidth = -1, maxHeight = -1;
            DisplayMetrics met = new DisplayMetrics();
            for(Display d : displays){
                d.getMetrics(met);
                maxWidth = met.widthPixels > maxWidth ? met.widthPixels : maxWidth;
                maxHeight = met.heightPixels > maxHeight ? met.heightPixels : maxHeight;
            }
            p.x = maxWidth;
            p.y = maxHeight;
            return p;
        }
  • 相关阅读:
    多维数组的索引与切片
    多维数组
    开学第一课Java考试
    大一第九周学习体会
    大一第八周学习体会
    大一第七周学习体会
    大一第六周学习体会
    大一第五周学习体会
    《大道至简》读后感
    大一暑假第四周学习体会
  • 原文地址:https://www.cnblogs.com/glorin/p/4314190.html
Copyright © 2011-2022 走看看