int[] location = new int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标location [0] //x坐标
location [1] //y坐标
getLocationOnScreen
计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标
getLocationInWindow
计算该视图在它所在的widnow的坐标x,y值,获取在整个窗口内的绝对坐标
getLeft , getTop, getBottom,getRight
这一组是获取相对在它父亲里的坐标
如果在Activity的OnCreate()
事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。
在onWindowFocusChanged(boolean hasFocus)
中获取为好
即覆写Activity的onWindowFocusChanged(boolean hasFocus)
方法
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); int[] location1 = new int[2] ; view.getLocationInWindow(location1); //获取在当前窗口内的绝对坐标 int[] location2 = new int[2] ; view.getLocationOnScreen(location2);//获取在整个屏幕内的绝对坐标 }