[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 (暂时使用的名称)
Android4.4W 20 KITKAT_WATCH
Android4.4 19 KITKAT
Android4.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?

更多相关文章

  1. Android ColorStateList使用方法
  2. 修改android项目sdk版本的方法
  3. Android,TextView的所有属性和方法
  4. Android Studio Error 安装后Gradle:resolve dependencies:'clas
  5. TabHost 置于底部 顶部的方法
  6. Android启动模拟器出现:Failed to allocate memory: 8的解决方法

随机推荐

  1. Android SDK环境变量配置(windows和Linux
  2. 快速上手:Ophone及Android入门教程
  3. 【Android Linux内存及性能优化】(八) 系
  4. IOS之UITabBarViewController用法
  5. Android下实现一个Activity的全屏显示
  6. 关于build.gradle配置文件详细参数讲解
  7. Android知识体系总结(全方面覆盖Android
  8. Android(安卓)EditText OnTouchListener
  9. android notification,notificationmanage
  10. Android wifi信号强度与图标对应关系