zoukankan      html  css  js  c++  java
  • Android 获得手机屏幕真实的宽高

    http://stackoverflow.com/questions/1016896/get-screen-dimensions-in-pixels

    WindowManager w = activity.getWindowManager();
    Display d = w.getDefaultDisplay();
    DisplayMetrics metrics = new DisplayMetrics();
    d.getMetrics(metrics);
    // since SDK_INT = 1;
    widthPixels = metrics.widthPixels;
    heightPixels = metrics.heightPixels;
    try {
        // used when 17 > SDK_INT >= 14; includes window decorations (statusbar bar/menu bar)
        widthPixels = (Integer) Display.class.getMethod("getRawWidth").invoke(d);
        heightPixels = (Integer) Display.class.getMethod("getRawHeight").invoke(d);
    } catch (Exception ignored) {
    }
    try {
        // used when SDK_INT >= 17; includes window decorations (statusbar bar/menu bar)
        Point realSize = new Point();
        Display.class.getMethod("getRealSize", Point.class).invoke(d, realSize);
        widthPixels = realSize.x;
        heightPixels = realSize.y;
    } catch (Exception ignored) {
    }
    

    EDIT: slightly improved version (avoid firing exceptions on non-supported OS version):

    WindowManager w = activity.getWindowManager();
    Display d = w.getDefaultDisplay();
    DisplayMetrics metrics = new DisplayMetrics();
    d.getMetrics(metrics);
    // since SDK_INT = 1;
    widthPixels = metrics.widthPixels;
    heightPixels = metrics.heightPixels;
    // includes window decorations (statusbar bar/menu bar)
    if (Build.VERSION.SDK_INT >= 14 && Build.VERSION.SDK_INT < 17)
    try {
        widthPixels = (Integer) Display.class.getMethod("getRawWidth").invoke(d);
        heightPixels = (Integer) Display.class.getMethod("getRawHeight").invoke(d);
    } catch (Exception ignored) {
    }
    // includes window decorations (statusbar bar/menu bar)
    if (Build.VERSION.SDK_INT >= 17)
    try {
        Point realSize = new Point();
        Display.class.getMethod("getRealSize", Point.class).invoke(d, realSize);
        widthPixels = realSize.x;
        heightPixels = realSize.y;
    } catch (Exception ignored) {
    }
  • 相关阅读:
    腾讯会议API接入
    解决远程调用三方接口:javax.net.ssl.SSLHandshakeException报错
    iOS自动创建本地化文件
    数组转换
    2021MongoDB技术实践与应用案例征集活动获奖通知
    MongoDB按需物化视图介绍
    参会指南 | 2021MongoDB南京技术沙龙
    叮咚买菜自建MongoDB上云实践
    MongoDB技术实践与应用案例征集中
    使用WT工具恢复MongoDB数据
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/4572122.html
Copyright © 2011-2022 走看看