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

原创 2015年11月17日 20:23:25


简述:

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android获取屏幕分辨率及DisplayMetrics简介 和java获得屏幕宽度高度的方法

Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。 手机的分辨率信息是手机的一项重要信息,很好的是,And...
  • songjunyan
  • songjunyan
  • 2014年08月09日 23:48
  • 1373

利用DisplayMetrics 获取手机屏幕分辨率

网上找到一个很巧妙的方法,可以利用context示例获取,不需要getWindowManager:   DisplayMetrics dm = new DisplayMetrics(); //...
  • u010037124
  • u010037124
  • 2014年08月10日 11:57
  • 341

Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应用

 大家好,我们这一节要讲的内容是Android如何取得手机屏幕大小的例子.本节主要用了三个对象TextView,Button,以及DisplayMetrics,其中Displaymetrics是取得手...
  • Android_Tutor
  • Android_Tutor
  • 2009年11月08日 21:50
  • 34860

android开发获取手机屏幕分辨率

android开发基础过程中获取手机屏幕分辨率用来加载不同的UI,图片等,如何获取手机屏幕分辨率?DisplayMetrics displayMetrics=new DisplayMetrics();...
  • baidu_23086307
  • baidu_23086307
  • 2016年10月03日 12:03
  • 375

Android开发之如何获取Android手机屏幕的大小(分辨率、密度)

本文主要介绍一下如何获取Android手机屏幕的大小?请看文章!
  • itluochen
  • itluochen
  • 2016年10月10日 14:49
  • 3353

Android屏幕分辨率获取方法--源码剖析

在适配的过程中,有时我们会用到屏幕宽高,那么如何获得屏幕的分辨率? 方法有两种: 第一种是通过WindowManager接口获得Diaplay对象,通过Display对象来获得...
  • liuxian13183
  • liuxian13183
  • 2014年04月15日 00:14
  • 3184

使用Python读取安卓手机的屏幕分辨率

通过Python 使用 adb 命令。来 获取 安卓手机的 屏幕分辨率
  • KiTok
  • KiTok
  • 2018年01月04日 10:01
  • 458

android DisplayMetrics

两种方式都是通过获得一个 DisplayMetrics对象来获取屏幕的分辨率。获取DisplayMetrics的方 第一种方法:DisplayMetrics outMetrics =conte...
  • cathuzi
  • cathuzi
  • 2016年05月31日 17:44
  • 426

Android使用Displaymetrics类获取一下手机屏幕中的一些信息,获取屏幕分辨率

今天学习一下使用Displaymetrics类获取一下手机屏幕中的一些信息        首先看下文档中的讲解            这个类中包含 描述大小,宽度,字体缩放和其一些其...
  • dlwh_123
  • dlwh_123
  • 2014年03月21日 10:50
  • 676

获取手机屏幕大小 DisplayMetrics

方法1:  //获取手机屏幕分辨率的类 private DisplayMetrics dm; dm = new DisplayMetrics(); getWindowMana...
  • Vincent_czz
  • Vincent_czz
  • 2011年12月23日 09:59
  • 3772
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中DisplayMetrics 获取手机屏幕分辨率
举报原因:
原因补充:

(最多只允许输入30个字)