Android獲取螢幕和控制元件座標

weixin_33866037發表於2017-04-20
2187081-45b3208142af1f72

涉及到的方法一共有下面幾個:

view獲取自身座標:getLeft(),getTop(),getRight(),getBottom()
view獲取自身寬高:getHeight(),getWidth()
motionEvent獲取座標:getX(),getY(),getRawX(),getRawY()
首先是view的幾個方法,
獲取自身的寬高的這兩個方法很清楚,不用多說,獲取座標的這幾個就有點混亂了。
根據上面的圖應該會比較容易明白,圖中螢幕上放了一個ViewGroup佈局,裡面有個View控制元件
getTop:獲取到的,是view自身的頂邊到其父佈局頂邊的距離
getLeft:獲取到的,是view自身的左邊到其父佈局左邊的距離
getRight:獲取到的,是view自身的右邊到其父佈局左邊的距離
getBottom:獲取到的,是view自身的底邊到其父佈局頂邊的距離
然後是motionEvent的方法:
getX():獲取點選事件相對控制元件左邊的x軸座標,即點選事件距離控制元件左邊的距離
getY():獲取點選事件相對控制元件頂邊的y軸座標,即點選事件距離控制元件頂邊的距離
getRawX():獲取點選事件相對整個螢幕左邊的x軸座標,即點選事件距離整個螢幕左邊的距離
getRawY():獲取點選事件相對整個螢幕頂邊的y軸座標,即點選事件距離整個螢幕頂邊的距離
這些方法可以用在什麼地方呢?
getRawX和getRawY在之前那篇部落格裡廣泛使用了,可以去那裡看用法,getX()和getY()這兩個方法在對view進行自定義的時候可能用的會比較多。

相關文章