代码小疯子

你眼睛看到的不一定是真的

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



简述:

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;
    }

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl18603543572/article/details/49892549
个人分类: Android—>基础篇
上一篇Android_自定义水波纹菜单弹出效果
下一篇Android 自定义下拉刷新
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭