获取方法一:DisplayMetrics dm = context.getResources().getDisplayMetrics();
获取方法二:DisplayMetrics dm = new DisplayMetrics();this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activity,获取屏幕宽高
- int screenWidth = dm.widthPixels; //宽px
- int screenHeight = dm.heightPixels; //高px
- float density = dm.density; //如dp转px 则(int) (dpValue * density + 0.5f)
- float xdpi = dm.xdpi;
- float ydpi = dm.ydpi;
另外获取屏幕信息宽高,可以用:
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
应用:对话框中:
//设置dialog大小,这里是一个小赠送,模块好的控件大小设置 WindowManager manager = ((Activity) context).getWindowManager();
//法二 WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display d = manager.getDefaultDisplay(); // 获取屏幕宽、高度
Window dialogWindow = getWindow(); WindowManager.LayoutParams params = dialogWindow.getAttributes(); // 获取对话框当前的参数值 dialogWindow.setGravity(Gravity.CENTER);//设置对话框位置 params.width = (int) (d.getWidth() * 0.8); // 宽度设置为屏幕的0.65,根据实际情况调整 dialogWindow.setAttributes(params);
在你dialog.show();后面加上,可以设置宽度全屏
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = (int)(display.getWidth()); //设置宽度
dialog.getWindow().setAttributes(lp);