Android 屏幕密度及其分辨率获取

来源:互联网 发布:中差评拦截软件 编辑:程序博客网 时间:2024/05/23 18:49

以下是三种常见的获取方法:

    // 1、windowManager 获取    private void windowManager_ScreenDensity() {        //DisplayMetrics 封装了显示区域的各种属性        //实例化分辨率容器        DisplayMetrics displayMetrics = new DisplayMetrics();        //获取分辨率信息        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);        int width = displayMetrics.widthPixels;        int height = displayMetrics.heightPixels;        //屏幕密度        //每英寸内容容纳的点的个数        /*         常用的几个值        DENSITY_LOW = 120        DENSITY_MEDIUM = 160  //默认值        DENSITY_TV = 213      //TV专用        DENSITY_HIGH = 240        DENSITY_XHIGH = 320        DENSITY_400 = 400        DENSITY_XXHIGH = 480        DENSITY_XXXHIGH = 640        */        int dpi = displayMetrics.densityDpi;        float density = displayMetrics.density;        Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);    }    //2、resource 资源获取    private void resources_ScreenDensity() {        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();        int width = displayMetrics.widthPixels;        int height = displayMetrics.heightPixels;        int dpi = displayMetrics.densityDpi;        float density = displayMetrics.density;        Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);    }    //3、display 获取    //Display 代指显示区域这个对象,它可以是真实的物理屏幕,或指程序的显示区域    private void default_ScreenDensity() {                Display display = getWindowManager().getDefaultDisplay();        int disId = display.getDisplayId();        Point point = new Point();        display.getSize(point);        int width = point.x;        int height = point.y;        Log.e("HyDetection", "width-->" + width + "---" + "height-->" + height + "---disId-->" + disId);        DisplayMetrics displayMetrics = new DisplayMetrics();        display.getMetrics(displayMetrics);        width = displayMetrics.widthPixels;        height = displayMetrics.heightPixels;        int dpi = displayMetrics.densityDpi;        float density = displayMetrics.density;        Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);    }



原创粉丝点击