Android之获取屏幕的三种方式
16lz
2021-01-26
前言
获取屏幕我们第一个想到的就是DisplayMetrics类
java.lang.Object
↳ android.util.DisplayMetrics
是Android提供的记述屏幕的有关信息的一种结构,诸如其尺寸,密度和字体缩放的一般信息。
第一种方法:
WindowManager wm = (WindowManager) context.getSystemService( Context.WINDOW_SERVICE);DisplayMetrics metrics= new DisplayMetrics();wm.getDefaultDisplay().getMetrics(metric);
第二种方法
DisplayMetrics metrics= new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);)
第三种方法
DisplayMetric metrics=mContext.getResources().getDisplayMetric(); //这俩个就是手机屏幕的屏幕分辨率,物理宽高值如1080*1920(ToolBar或ActionBar会占据一定空间,得到的heightPiexls会小一点) int width = metrics.widthPixels; // 表示屏幕的像素宽度,单位是px(像素) int height = metrics.heightPixels; // 表示屏幕的像素高度,单位是px(像素) float density = metrics.density; // 显示器的逻辑密度,Density Independent Pixel(如3.0) ( metrics.scaledDensity和metrics.density数值是一样的) int densityDpi = metrics.densityDpi; // 整个屏幕的像素密度DPI(dots per inch每英寸像素数),可以是密度低,密度中等,或者密度高(如240/ 360 / 480) float xdpi= metrics.xdpi /表示在X轴方向上每英寸的像素值,X轴方向上的DPI(dots per inch) float ydpi= metrics.ydpi //表示在Y轴方向上每英寸的像素值, Y方向上的DPI//wm.getDefaultDisplay().getHeight();获得的数据和int height = metrics.heightPixels一样,不过getHeight()方法弃用了,建议使用后者
更多相关文章
- drawable( hdpi, ldpi, mdpi, xhdpi)区别
- [转]Android(安卓)获取当前Activity的屏幕截图
- Android中判断状态栏是否存在
- android 屏幕切换
- Android屏幕、键盘背光Framework和Linux led_classdev
- Android中的两把锁
- Android(安卓)屏幕分辨率适配原理
- 关于android的webview屏幕适应
- PopWindow Android(安卓)7.0 位置显示不准确解决办法