DisplayMetrics

来源:互联网 发布:种植牙 植骨 知乎 编辑:程序博客网 时间:2024/05/17 09:32
获取方法一:DisplayMetrics dm = context.getResources().getDisplayMetrics(); 

获取方法二:DisplayMetrics dm = new DisplayMetrics();   

this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activity,获取屏幕宽高   

  1.   int screenWidth = dm.widthPixels;   //宽px
  2.            int screenHeight = dm.heightPixels;   //高px
  3.            float density = dm.density;   //如dp转px 则(int) (dpValue * density + 0.5f)
  4.            float xdpi = dm.xdpi;   
  5.            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);

0 0
原创粉丝点击