@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
int[] location = new int[2];
gEditText.getLocationInWindow(location);
Log.e("getLocationInWindow", "x" + location[0] + "y:" + location[1]);
int[] location2 = new int[2];
gEditText.getLocationOnScreen(location2);
Log.e("getLocationOnScreen", "x" + location2[0] + "y:" + location2[1]);
}
主要必须的onwindowChanged中调用 在onResum OnCreate中调用都是0
getLocalVisibleRect , 返回一个填充的Rect对象, ?? sdk上也没注释,根据经验应该是获取控件相对在父亲里的一个Rect对象,left,top取到的是0
getGlobalVisibleRect , 获取全局坐标系的一个视图区域, 返回一个填充的Rect对象。 但是!!! left能准确的获取, bottom属性就获取不准确, 不知道杂搞的
getLocationOnScreen ,计算该视图在全局坐标系中的x,y值, 非常准确!(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)
getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值, 非常准确! 这个好像和getLocationOnscreen 一样