BloggerAds

2013年4月11日 星期四

Android - 取得元件位置 getTop(),getLeft()..都為0 解決辦法

在Android裡面常常需要取得

一些元件,Layout的位置

但是當我們使用了

getTop() ,getBottom() ,getX() ,getY()

結果都是0 是怎麼回事呢?



後來在onResume中也是

後來終於在stackoverflow中找到正解

原來要在onWindowFocusChanged中取得他的位置

在onResume會太早

@Overridepublicvoid onWindowFocusChanged (boolean hasFocus){super.onWindowFocusChanged(hasFocus);
if(hasFocus){ System.out.println("onWindowFocusChanged");
 System.out.println("tab1 - left"+ btn_Tab7 .getLeft());
 System.out.println("tab1 - Top"+ btn_Tab7.getTop());
 System.out.println("tab1 - right"+ btn_Tab7.getRight());
 System.out.println("tab1 - bottom"+ btn_Tab7.getBottom());}
}

參考:http://stackoverflow.com/questions/12052570/getright-getleft-gettop-returning-zero