Android中DisplayMetrics 获取手机屏幕分辨率

来源:互联网 发布:淘宝平台运营思路 编辑:程序博客网 时间:2024/05/21 06:31


简述:

Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。

//get the screen size DisplayMetrics dm = new DisplayMetrics();   getWindowManager().getDefaultDisplay().getMetrics(dm);  int screenHeight= dm.heightPixels;   int screenWidth =dm.widthPixels;

构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity 的Handle ,此时, getDefaultDisplay() 方法将取得的宽高维度存放于DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel) ,“像素”所指的是“绝对像素”而非“相对像素”



当然这里面也可以通过一定的方法来获取屏幕密度


 /**     * 获取屏幕的像素     */    public int getScreenWidthMetrics(Activity activity){        DisplayMetrics displayMetrics = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);        return displayMetrics.widthPixels;    }    public int getScreenHeigthMetrics(Activity activity){        DisplayMetrics displayMetrics = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);        return displayMetrics.heightPixels;    }    /**     * 获取屏幕的像素密度     * @param activity     * @return     */    public float getScreenDensity(Activity activity){        DisplayMetrics displayMetrics = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);        return displayMetrics.density;    }        public float getScreenDensityDip(Activity activity){        DisplayMetrics displayMetrics = new DisplayMetrics();        activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);        return displayMetrics.densityDpi;    }

1 0
原创粉丝点击