2014-02-19 48 views

回答

2
PointF y1 = new PointF(button.getX(), button.getY()); 
PointF y2 = new PointF(button.getX(), button.getY() + button.getWidth()); 
PointF x1 = new PointF(button.getX() - button.getHeight(), button.getY()); 
PointF x2 = new PointF(button.getX() - button.getHeight(), button.getY() + button.getWidth()); 

我相信getTop()getBottom()getRight(),那@LokiSinclair提到getLeft()方法也會工作。請確保在onWindowFocusChanged()中調用這些方法,因爲調用這些方法將在onCreate()onStart()中產生0。

+0

謝謝!這會給我在運行時的確切位置嗎? –

+0

請參閱更新 – Barney

2

您可以使用這些方法; getTop(),getLeft(),getBottom()getRight()

從官方文檔:

位置

視圖的幾何形狀是長方形的。一個視圖有一個位置,表示爲一對>左側和頂部座標,以及兩個維度,表示爲寬度和高度。位置和尺寸的單位是像素。

通過調用getLeft()和getTop()方法可以檢索視圖的位置。前者返回表示> view的矩形的左邊或X座標。後者返回表示視圖的矩形的頂部或Y座標。 >這些方法都返回視圖相對於其父項的位置。例如,當getLeft()返回20時,即 ,這意味着該視圖位於其直接父級的左邊緣的右邊20像素處。

此外,還提供了幾種方便的方法來避免不必要的計算,即getRight()和getBottom(),即 。這些方法返回表示視圖的矩形的右邊和底邊的座標。例如,調用GetRight時()是 類似以下計算:getLeft()+的getWidth()(參閱有關寬度更 信息尺碼)

有一點需要注意的雖然是在試圖獲得位置細節之前,必須至少畫出一次視圖。

0

取決於你想要的。

  1. 您可以使用getTranslationX()和getTranslationY()方法來獲取屏幕,無論是屬於您的視圖佈局視圖的原始位置。

  2. getX()和getY()方法分別獲取視圖的位置和視圖的父佈局。

如果您決定哪種方法適合您的問題,您將結合方法與view.getWidth和view。getHeight方法爲了獲得你想要的值。

+0

我想要的確切位置,因爲我想突出顯示按鈕時,用戶將他的手指移動它不接觸它。 –

+0

我不明白「精確」位置的含義,因此請嘗試兩種解決方案並讓我們知道結果! – karvoynistas