Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239210
  • 博文数量: 54
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 431
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-26 09:36
文章分类

全部博文(54)

分类: Android平台

2014-11-09 11:34:34

 转自:http://www.cnblogs.com/bjzhanghao/archive/2012/11/12/2765835.html

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

从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对照表:

Platform Version API Level VERSION_CODE Notes
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

What is API Level?

阅读(1745) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~