android 获取屏幕的高度和宽度、获取控件在屏幕中的位置、获取屏幕中控件的高度和宽度

时间:2024-03-12 19:51:07

(一)获取屏幕的高度和宽度

有两种方法:

方法1:

WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);

  int width = wm.getDefaultDisplay().getWidth();

  int height = wm.getDefaultDisplay().getHeight();
方法2:
WindowManager wm = this.getWindowManager();
  int width = wm.getDefaultDisplay().getWidth();
  int height = wm.getDefaultDisplay().getHeight();
 
(二)获得当前view在屏幕中的坐标
 
int[] location = new int[2];
view.getLocationOnScreen(location);
这样就可以得到该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 
数组中location[0]代表的是x坐标,location[1]代表的是y坐标。
(三)获得当前view的高度和宽度
以ImageView为例
//得到控件ImageView
ImageView imageView = (ImageView) findViewById(R.id.imageView)
//获取控件的高度
int height = imageView.getMeasuredHeight();
//获取控件的宽度
int width = imageView.getMeasuredWidth();