您现在的位置是:主页 > news > 百度录入网站/模板之家官网
百度录入网站/模板之家官网
admin2025/6/13 19:27:11【news】
简介百度录入网站,模板之家官网,建立自己的网站步骤,台州做网站seo的在Android中,关于屏幕的宽度、高度等的信息都封装在DisplayMetrics 类中,获取 DisplayMetrics 的方法以下几种1, 获取像素密度(dpi)int densityDpi mContext.getResources().getDisplayMetrics().densityDpi; 2&#…
百度录入网站,模板之家官网,建立自己的网站步骤,台州做网站seo的在Android中,关于屏幕的宽度、高度等的信息都封装在DisplayMetrics 类中,获取 DisplayMetrics 的方法以下几种1, 获取像素密度(dpi)int densityDpi mContext.getResources().getDisplayMetrics().densityDpi; 2&#…
在Android中,关于屏幕的宽度、高度等的信息都封装在DisplayMetrics 类中,获取 DisplayMetrics 的方法以下几种
1, 获取像素密度(dpi)
int densityDpi = mContext.getResources().getDisplayMetrics().densityDpi;
2,获取屏幕密度(dp)
float density = mContext.getResources().getDisplayMetrics().density;
3,获取设备的绝对宽高(px像素)
【1】第一种方法 通过Resources获取
Resources resources = this.getResources();DisplayMetrics dm = resources.getDisplayMetrics();int width = dm.widthPixels;int height = dm.heightPixels;
【2】第二种方法 通过WindowManager获取屏幕的默认分辨率 基于Activity
WindowManager manager = this.getWindowManager();DisplayMetrics outMetrics = new DisplayMetrics();manager.getDefaultDisplay().getMetrics(outMetrics);int width = outMetrics.widthPixels;int height = outMetrics.heightPixels;
【3】第三种方法 通过WindowManager获取屏幕的默认分辨率 基于Actviity
DisplayMetrics dm = new DisplayMetrics();
int heigth = dm.heightPixels;
int width = dm.widthPixels;
4,获取X轴,Y轴方向上屏幕每英寸的物理像素数。
float xdpi = mContext.getResources().getDisplayMetrics().xdpi;float ydpi = mContext.getResources().getDisplayMetrics().ydpi;
5,获取屏幕上字体显示的缩放因子,一般与density值相同,除非在程序运行中,用户根据喜好调整了显示字体的大小时,会有微小的增加。
float scaledDensity = mContext.getResources().getDisplayMetrics().scaledDensity;
- 封装获取值的方法
public static float getPingMuSize(Context mContext) {int densityDpi = mContext.getResources().getDisplayMetrics().densityDpi;float scaledDensity = mContext.getResources().getDisplayMetrics().scaledDensity;float density = mContext.getResources().getDisplayMetrics().density;float xdpi = mContext.getResources().getDisplayMetrics().xdpi;float ydpi = mContext.getResources().getDisplayMetrics().ydpi;int width = mContext.getResources().getDisplayMetrics().widthPixels;int height = mContext.getResources().getDisplayMetrics().heightPixels;// 这样可以计算屏幕的物理尺寸float width2 = (width / xdpi)*(width / xdpi);float height2 = (height / ydpi)*(width / xdpi);TLog.error("densityDpi:"+densityDpi);TLog.error("scaledDensity:"+scaledDensity);TLog.error("density:"+density);TLog.error("height:"+height);TLog.error("width:"+width);TLog.error("屏幕宽:"+width2);TLog.error("屏幕高:"+height2);TLog.error("xdpi:"+xdpi);TLog.error("ydpi:"+ydpi);// 获取屏幕密度(方法1)return (float) Math.sqrt(width2+height2);}
- 通过DisplayMetrics获取屏幕个各项值
DisplayMetrics metrics = new DisplayMetrics();
context.getApplicationContext().getDisplay().getMetrics(metrics);
// 屏幕的逻辑密度,是密度无关像素(dip)的缩放因子,160dpi是系统屏幕显示的基线,1dip = 1px, 所以,在160dpi的屏幕上,density = 1, 而在一个120dpi屏幕上 density = 0.75。
float density = metrics.density;
// 屏幕的绝对宽度(像素)
int screenWidth = metrics.widthPixels;
// 屏幕的绝对高度(像素)
int screenHeight = metrics.heightPixels;
// 屏幕上字体显示的缩放因子,一般与density值相同,除非在程序运行中,用户根据喜好调整了显示字体的大小时,会有微小的增加。
float scaledDensity = metrics.scaledDensity;
// X轴方向上屏幕每英寸的物理像素数。
float xdpi = metrics.xdpi;
// Y轴方向上屏幕每英寸的物理像素数。
float ydpi = metrics.ydpi;
// 每英寸的像素点数,屏幕密度的另一种表示。densityDpi = density * 160.
float desityDpi = metrics.densityDpi;