2011-01-31 59 views
0

如何在android中查找視圖位置?如何在android中查找視圖位置

爲了得到我使用的位置view.getLeft(),view.getRight(),view.getTop()view.getBottm()。但是這些方法正在返回0(零)。我在調用setContentView()方法後使用了這些方法。

如果有人知道獲取視圖位置的代碼,請幫助我。

回答

0

這2.2爲我工作:

custRegScrollView.smoothScrollTo(0, activity.findViewById(labelId) 
      .getTop() - (viewHeight/2) + offset); 

你正在尋找的代碼的位是:

int viewPos = activity.findViewById(R.id.myView).getTop(); 

這應該在視圖中的「矩形」

返回下面的點
>______ 
    | | 
    | | 
    |____| 

即,Y(垂直)的視圖的頂部座標。

請注意,這是基於您正在使用的佈局類型的上下文。如上所示,這在ScrollView中進行了測試。

希望這會有所幫助!

+0

它不起作用。 – anticafe 2011-07-11 09:48:42

0

你打電話給getLeft()getTop()等?直到調用onMeasure()纔會設置視圖的位置,所以這些方法將返回0直到此時爲止。 onCreate()onMeasure()之前的某個時間被調用,因此在onCreate()中調用getLeft()將不會有太大的用處。您可能需要將代碼移至onMeasure()onResume()。但是,如果您確實覆蓋了onMeasure(),請注意它通常會多次調用。