Android之获取屏幕的三种方式

作者: 侯蛋蛋_ | 来源:发表于2017-10-21 15:02 被阅读0次

    前言

    获取屏幕我们第一个想到的就是DisplayMetrics类

    java.lang.Object
    ↳ android.util.DisplayMetrics

    是Android提供的记述屏幕的有关信息的一种结构,诸如其尺寸,密度和字体缩放的一般信息。

    第一种方法:

    WindowManager wm = (WindowManager) context.getSystemService(
           Context.WINDOW_SERVICE);
    DisplayMetrics metrics= new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(metric);
    

    第二种方法

    DisplayMetrics metrics= new DisplayMetrics();
    
    getWindowManager().getDefaultDisplay().getMetrics(metrics);)
    

    第三种方法

            DisplayMetric metrics=mContext.getResources().getDisplayMetric();
    
            //这俩个就是手机屏幕的屏幕分辨率,物理宽高值如1080*1920(ToolBar或ActionBar会占据一定空间,得到的heightPiexls会小一点)
            int width = metrics.widthPixels;  // 表示屏幕的像素宽度,单位是px(像素)
            int height = metrics.heightPixels;  // 表示屏幕的像素高度,单位是px(像素)
    
            float density = metrics.density;  // 显示器的逻辑密度,Density Independent Pixel(如3.0)
    
             ( metrics.scaledDensity和metrics.density数值是一样的)
            int densityDpi = metrics.densityDpi;  // 整个屏幕的像素密度DPI(dots per inch每英寸像素数),可以是密度低,密度中等,或者密度高(如240/ 360 / 480)
    
            float xdpi= metrics.xdpi /表示在X轴方向上每英寸的像素值,X轴方向上的DPI(dots per inch)
            float ydpi= metrics.ydpi //表示在Y轴方向上每英寸的像素值,  Y方向上的DPI
    
    //wm.getDefaultDisplay().getHeight();获得的数据和int height = metrics.heightPixels一样,不过getHeight()方法弃用了,建议使用后者
    

    相关文章

      网友评论

        本文标题:Android之获取屏幕的三种方式

        本文链接:https://www.haomeiwen.com/subject/bumiuxtx.html