因为安卓手机的屏幕密度有很多种,所以在写代码时候会出现在密度高的手机上距离很小,在密度很低的手机上距离很大。在网上搜了一些文章,发现可以通过获取手机的密度,再根据安装的手机的密度进行设置。
DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
int widthPixels = metrics.widthPixels;// 屏幕宽度(像素)
int heightPixels = metrics.heightPixels;// 屏幕高度(像素)
float density = metrics.density;// 屏幕密度(0.75 / 1.0 / 1.5/ 3.0)
int densityDpi = metrics.densityDpi;// 屏幕密度DPI(120 / 160 / 240)
此时再通过density的屏幕密度来进行计算。