如何在android中查找視圖位置?如何在android中查找視圖位置
爲了得到我使用的位置view.getLeft()
,view.getRight()
,view.getTop()
和view.getBottm()
。但是這些方法正在返回0
(零)。我在調用setContentView()
方法後使用了這些方法。
如果有人知道獲取視圖位置的代碼,請幫助我。
如何在android中查找視圖位置?如何在android中查找視圖位置
爲了得到我使用的位置view.getLeft()
,view.getRight()
,view.getTop()
和view.getBottm()
。但是這些方法正在返回0
(零)。我在調用setContentView()
方法後使用了這些方法。
如果有人知道獲取視圖位置的代碼,請幫助我。
這2.2爲我工作:
custRegScrollView.smoothScrollTo(0, activity.findViewById(labelId)
.getTop() - (viewHeight/2) + offset);
你正在尋找的代碼的位是:
int viewPos = activity.findViewById(R.id.myView).getTop();
這應該在視圖中的「矩形」
返回下面的點>______
| |
| |
|____|
即,Y(垂直)的視圖的頂部座標。
請注意,這是基於您正在使用的佈局類型的上下文。如上所示,這在ScrollView中進行了測試。
希望這會有所幫助!
你打電話給getLeft()
,getTop()
等?直到調用onMeasure()
纔會設置視圖的位置,所以這些方法將返回0直到此時爲止。 onCreate()
在onMeasure()
之前的某個時間被調用,因此在onCreate()
中調用getLeft()
將不會有太大的用處。您可能需要將代碼移至onMeasure()
或onResume()
。但是,如果您確實覆蓋了onMeasure()
,請注意它通常會多次調用。
它不起作用。 – anticafe 2011-07-11 09:48:42