android 获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度

1.屏幕尺寸,源代码如下:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth=metrics.widthPixels;            //屏幕宽度
int .screenHeight=metrics.heightPixels;        //屏幕高度

这段代码可以插入到 Activity 的 onCreate() 函数中。

 

2.获取标题栏、状态栏高度:

Rect rect = new Rect(); 
Window win = this.getWindow(); 
win.getDecorView().getWindowVisibleDisplayFrame(rect); 
int statusBarHeight = rect.top; 
int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT).getTop(); 
int titleBarHeight = contentViewTop - Variable.statusBarHeight; //statusBarHeight为状态栏高度,titleBarHeight为标题栏高度

  

getLocationOnScreen 计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 

getLocationInWindow 计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标

getLeft , getTop, getBottom, getRight, 这一组是获取相对在它父亲里的坐标


int[] location = new  int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标
view.getLocationOnScreen(location); //获取在整个屏幕内的绝对坐标
location [0]--->x坐标

location [1]--->y坐标

posted @ 2013-01-26 15:52  野生奥特曼2号  阅读(1532)  评论(0编辑  收藏  举报