android:anyDensity="true"的情况用以下方法即可获取

DisplayMetrics dm = MainActivity.getActivity().getResources().getDisplayMetrics();                      int w_screen = dm.widthPixels;                      int h_screen = dm.heightPixels; 

android:anyDensity="false"的情况上用面的方法发现获得的值不是实际分辨率,在debug是发DisplayMetrics有两个属性noncompatWidthPixels和noncompatHeightPixels显示了实际分辨率,却无法直接用dm.noncompatWidthPixels这样的方法get出来用,需要用以下方法去获取

int w_screen = 0;int h_screen = 0;         try {            Field field = DisplayMetrics.class.getDeclaredField("noncompatWidthPixels");            field.setAccessible(true);            w_screen = field.getInt(dm);        } catch (NoSuchFieldException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        }

h_screen可用类似上面的方法获取

Field导入的是

import java.lang.reflect.Field;


更多相关文章

  1. Android(安卓)时间同步功能 NTP NITZ
  2. android之 JNI端获取并操作Surface
  3. android 中发送短信
  4. Android(安卓)存储选项之 SQLiteDatabase 创建过程源码分析
  5. Android面试系列文章2018之Android部分Fragment篇
  6. [android]Android异步处理系列文章索引
  7. Android图表控件MPAndroidChart——LineChart实现 XY轴、原点线
  8. Android面试系列文章2018之Android部分Fragment篇
  9. android 获取路径目录方法

随机推荐

  1. pixel升级Android Q beta
  2. Android Studio下“Error:Could not find
  3. Android(安卓)多分包,方法数超出 65536 限
  4. 【解决方法】Unexpected namespace prefi
  5. Android Tips: 打电话和发短信
  6. android 内存管理
  7. android4.0自定义标题报错 -----断点记录
  8. Android 的大牛的博客 提供给大家参考
  9. JavaCV & Android
  10. Android 文件夹命名规范 国际化资源