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) {}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android开发问题 - Some projects cannot
  2. Android(安卓)生成不同服务器配置,不同APP
  3. Android 异常处理:java.lang.IllegalArgum
  4. JNI之------C调用java接口
  5. 查询遇到双引号
  6. Android(安卓)Studio进行APP图标更改的两
  7. 发送和拦截短信
  8. [Google Android] GCM: Getting Started
  9. 整理文:Android设备唯一码
  10. Android:这是一份全面&详细的 热修复 学习