今天想做适配,突然发现通过代码获取的宽高不太对劲
1080x1920的手机,3120x1440的手机,2880x1440的手机,获取到的宽度均为1080,高度虽然不一样但也和手机参数不一致。应该如何正确获取宽高参数?
尝试过的代码如下
一
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
width = dm.widthPixels;
height = dm.heightPixels;
二
playMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(outMetrics);
int width = outMetrics.widthPixels;
int height
你可以试试设置一个view的宽为widthPixels看看能不能全屏
public static float getHeightInPx(Context context) {
final float height = context.getResources().getDisplayMetrics().heightPixels;
return height;
}
public static float getWidthInPx(Context context) {
final float width = context.getResources().getDisplayMetrics().widthPixels;
return width;
}