[Android问答] 如何获得手机屏幕分辨率?

[Android问答] 如何获得手机屏幕分辨率?

这个问题并不复杂,但是问的人实在很多,所以还是集中回答一下。

从Android 3.2(API Level 13)开始,在Activity里使用下面的方法来获取屏幕分辨率(单位是像素):

Display display = getWindowManager().getDefaultDisplay(); //Activity#getWindowManager()
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

如果代码不是写在Activity里,用下面的方法(通过WINDOW_SERVICE获取display对象):

WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
display.getSize(size);
int width = size.x;
int height = size.y;

如果Android版本小于3.2,那么因为Display对象还没有getSize()方法,应该用下面的方法获取屏幕分辨率:

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight(); 

最后,附Android系统版本与API Level对照表(官方文档在这里,如果打不开,也可以在android源文件的android.os.Build里找到这些对应关系):

Platform Version API Level VERSION_CODE Notes
Android 5.0 21 LOLLIPOP (正式的名称)
  21 L (暂时使用的名称)
Android 4.4W 20 KITKAT_WATCH  
Android 4.4 19 KITKAT  
Android 4.3 18 JELLY_BEAN_MR2  
Android 4.2 17 JELLY_BEAN_MR1  
Android 4.1, 4.1.1 16 JELLY_BEAN Platform Highlights
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Platform Highlights
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 Platform Highlights
Android 3.0.x 11 HONEYCOMB Platform Highlights
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 Platform Highlights
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO Platform Highlights
Android 2.1.x 7 ECLAIR_MR1 Platform Highlights
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT Platform Highlights
Android 1.5 3 CUPCAKE Platform Highlights
Android 1.1 2 BASE_1_1  
Android 1.0 1 BASE  

参考资料

Display | Android Developers

Android: How to get screen dimensions

What is API Level?

本文转自博客园八进制的博客,原文链接:[Android问答] 如何获得手机屏幕分辨率?,如需转载请自行联系原博主。

时间: 2017-12-05

[Android问答] 如何获得手机屏幕分辨率?的相关文章

android计算pad或手机的分辨率/像素/密度/屏幕尺寸/DPI值的方法_Android

手机分辨率基础知识(DPI,DIP计算) 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于long Resolution(分辨率) 和电脑的分辨率概念一样,指手机屏幕纵.横方向像素个数 Milestone是854*480

Android中获取手机屏幕大小的方法_Android

本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我们可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小.DisplayMetrics类是获取手机屏幕各种属性的关键类.下面通过例子来展示如何获取手机屏幕的分辨率. 在布局文件main.xml中添加一个TextView对象,一个Button对象.其中TextView对象用来显示获得的分

Android中获得手机屏幕大小实现代码

  这篇文章主要介绍了Android中获得手机屏幕大小实现代码,Android开发中经常需要获得屏幕的宽高,本文直接封装成一个工具类,需要的朋友可以参考下 Android在自定义控件时,经常需要获得屏幕的宽高,每次都要写,不妨直接把他封装成工具类,直接拿来用,废话不说,直接上代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

android 屏幕分辨率问题

iPhone的icon设计就这么简单,iPhone的屏幕只有320×480像素,所以程序没有适配性问题. Android 在研究Android的icon设计之前,有必要先了解Android的界面是如何适配多样化屏幕的. 适配性 由于同一个UI元素(如100×100像素的图片)在高精度的屏幕上要比低精度的屏幕上看起来要小,为了让这两个屏幕上的图片看起来效果差不多,可以采用以下两种方法: 程序将图片进行缩放,但是效果较差. 为这两个精度屏幕的手机各提供一个图片. 但是屏幕的参数多样化,为每一个精度的

Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法

  Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法         这篇文章主要介绍了Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法,涉及Android获取文字宽高.状态栏高度.textView宽度及屏幕尺寸的相关技巧,需要的朋友可以参考下 首先定义TextView对象commentText 获取文字的宽高: ? 1 2 3 4 5 6 7 8 TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLA

Android的单位以及屏幕分辨率详解

一.常用的单位:相对单位主要有:px.sp.dp绝对单位主要有:pt.in.mm 二.单位应用总结:一般用相对单位,而不是绝对单位1.字体的大小一般使用SP,用此单位的字体能够根据用户设置字体的大小而自动缩放 2.空间等相对距离一般使用dp(dip),随着密度变化,对应的像素数量也变化,但并没有直接的相对比例的变化. 3.px与实际像素有关,及与密度有关!dp和sp和实际像素没有关系,对于一定分辨率但不同密度的屏幕,px单位的应用可能会导致长度的相对比例的变化. 三.密度与分辨率:密度值表示每英

将Android手机屏幕快速投影至WIN7的PC和投影仪

  在进行应用开发和展示的时候,经常需要将Android手机投影到PC屏幕或者投影仪上.豌豆荚或者91手机助手虽然能够通过USB将手机屏幕投影至PC,但是在手机上切换屏幕时,PC上相应的影像切换速度太慢,不能满足展示要求.借助于droidVN这款软件和随身WiFi能够更快速地将手机屏幕投影至PC,进而投影至投影仪上. 同时droidVNC还是一款远程控制的软件,在PC上安装droidVNC客户端,除了可以将手机屏幕投影至PC上,还能对手机进行远程控制.具体步骤如下 方法/步骤 1下载并安装dro

lcd-关于android手机屏幕驱动的几个小问题

问题描述 关于android手机屏幕驱动的几个小问题 看到这样的一句话:DISPC刷新帧率过高,D-PHY frequency设置的过低 这里的dispc和D-PHY frequency分别是指什么,dispc是什么控制器? 在调试 DSI 或者 CSI 的时候, 一般遵循的原则为:Host 端的 T_HS-SETTLE > Slave 端的 T_HS-SETTLE.这里的host和slave这两个一般是在哪里设置的额? 解决方案 DISPC应该是指AP端吧,刷新率一般都固定在60. D-PHY

谷歌新专利:自动调节屏幕分辨率能够延长电池续航的能力

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 4月2日消息,据国外媒体报道,科技网站Droidlife称,谷歌日前获得了一项新的移动技术专利,该技术可以使Android手机自动检测电池电量,并在电量很低的情况下,通过改变屏幕分辨率等,延长电池的续航时间. 据悉,该技术专利的编号为8407502 B1.根据电量的不同情况,支持该技术的手机可以开启三种不同的省电模式:第一种是关闭液晶显示屏的"模糊&quo

请教各位达人一个问题 如何使用jQuery Mobile让pc网页自适应手机屏幕

问题描述 请教各位达人一个问题 如何使用jQuery Mobile让pc网页自适应手机屏幕 请教各位达人一个问题 如何使用jQuery Mobile让pc网页自适应手机屏幕 解决方案 http://skyonsea.com/html-width%E8%87%AA%E5%8A%A8%E9%80%82%E5%BA%94%E6%89%8B%E6%9C%BA%E5%B1%8F%E5%B9%95%E5%A4%A7%E5%B0%8F/ 这个网页是关于使用jQuery Mobile让PC网页自适应手机屏幕的文