• [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 VersionAPI LevelVERSION_CODENotes
    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应用 应用计时折扣君推荐+1(需登录)

  • 相关阅读:
    必备单词
    Vim
    Linux基础
    python链表操作详解
    冒泡和快速排序
    学员练车选课系统
    面试题
    获取resp:heads:content-disposition的filename
    记录springBoot启动报错(无脑型)
    springBoot+Vue搭建新项目(1)
  • 原文地址:https://www.cnblogs.com/bjzhanghao/p/2765835.html
Copyright © 2020-2023  润新知