1. 程式人生 > >android獲得控制元件在螢幕中的絕對座標

android獲得控制元件在螢幕中的絕對座標

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控制元件都載入完了才能獲取到這些。

getLocationOnScreen ,計算該檢視在全域性座標系中的x,y值,(注意這個值是要從螢幕頂端算起,也就是索包括了通知欄的高度)//獲取在當前螢幕內的絕對座標

getLocationInWindow ,計算該檢視在它所在的widnow的座標x,y值,//獲取在整個視窗內的絕對座標 (不是很理解= =、)

getLeft , getTop, getBottom, getRight, 這一組是獲取相對在它父親裡的座標

如果在Activity的OnCreate()事件輸出那些引數,是全為0,要等UI控制元件都載入完了才能獲取到這些。

如果在Activity的OnCreate()事件輸出那些引數,是全為0,要等UI控制元件都載入完了才能獲取到這些。

在onWindowFocusChanged(boolean hasFocus)中獲取為好 -