有许多时候我们要对控件进行布局需要得到手机设备屏幕的宽和高。下面介绍获取宽度和高度:
//获取手机屏幕的宽度像素值
public static int getWidthPixels(Acticity activity){
//获取设备显示度量信息
Metrics metrics=new Metrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
//获取宽度像素值
return metrice.widthPixels;
}
//获取手机屏幕的高度像素值
//获取设备显示度量信息
Metrics metrics=new Metrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
//获取宽度像素值
return metrice.heightPixels;
得到像素值后,可以和dp单位进行换算
//将像素值换算成dp值
public static int getDp(Conext context,int sp){
//首先还是要先取得像素信息
DisplayMetrics metrics=context.getResources().getDisplayMetrics();
//取出像素密度
float scale=metrics.density;
//进行换算并返回
return (int)(sp/scale+0.5f);//加0.5是为了四舍五入
}
//将dp换算成像素值
public static int getSp(Conext context,int dp){
//首先还是要先取得像素信息
DisplayMetrics metrics=context.getResources().getDisplayMetrics();
//取出像素密度
float scale=metrics.density;
//进行换算并返回
return (int)(dp*scale+0.5f);//加0.5是为了四舍五入
}