关于Android获取屏幕分辨率大小
16lz
2021-01-24
一、获取分辨率
使用getSize() 办法
Display display = getWindowManager().getDefaultDisplay();Point size = new Point();display.getSize(size);int width = size.x;int height = size.y;
如果不在 Activity 内可以通过 WINDOW_SERVICE 来获取 Display 对象 WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);Display display = wm.getDefaultDisplay();
使用DisplayMetrics 对象来获取
DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);int width = dm.widthPixels;int height = dm.heightPixels;
如果是4.0以上的系统,而且屏幕是带有虚拟按键的上面的代码获取的屏幕分辨率是除去虚拟按键以外的,在有虚拟按键情况下比如分辨率是:800×480 ,上面代码获取的是:480×728。那在带有虚拟按键的情况下如何获取真正的分辨率,可以使用display.getRealSize()
Display display = getWindowManager().getDefaultDisplay();Point outSize = new Point();display.getRealSize(outSize);int width = outSize.x;int height = outSize.y;
更多相关文章
- 阅读《Android(安卓)从入门到精通》(25)——标签切换
- Android(安卓)通过软引用实现图片缓存,防止内存溢出
- Android加载网络图片并保存到系统相册
- My Android(安卓)Camera Notes
- Android(安卓)java和javascript之间的相互调用
- Android(安卓)8.1.0 源码修改之 - 屏蔽 Home 按键
- Android中的Typeface
- 中:Android(安卓)startActivity原理分析(基于Android(安卓)8.1 AO
- Android(安卓)之 自定义控件用法介绍