前言:Android 開(kāi)發(fā)任何時(shí)候都應(yīng)該了解View 的原理及Android View獲取坐標(biāo)值、相對(duì)距離的方法。
首先看一圖

20160614204531257.png
其中,觸摸點(diǎn)表示點(diǎn)擊的位置,View表示點(diǎn)擊的控件,ViewGroup表示點(diǎn)擊的控件所在的父容器,屏幕表示整個(gè)手機(jī)顯示屏。
-
View獲取坐標(biāo)的方法如下
getTop:獲取到的是View自身的頂邊到其父布局頂邊的距離。
getLeft:獲取到的是View自身的左邊到其父布局左邊的距離。
getRight:獲取到的是View自身的右邊到其父布局左邊的距離。
getBottom:獲取到的是View自身的底邊到其父布局頂邊的距離。
-
MotionEvent獲取坐標(biāo)的方法有:
getX():獲取點(diǎn)擊事件相對(duì)控件左邊的x軸坐標(biāo),即點(diǎn)擊事件距離控件左邊的距離。
getY():獲取點(diǎn)擊事件相對(duì)控件頂邊的y軸坐標(biāo),即點(diǎn)擊事件距離控件頂邊的距離。
getRawX():獲取點(diǎn)擊事件相對(duì)整個(gè)屏幕左邊的x軸坐標(biāo),即點(diǎn)擊事件距離整個(gè)屏幕左邊的距離。
getRawY():獲取點(diǎn)擊事件相對(duì)整個(gè)屏幕頂邊的y軸坐標(biāo),即點(diǎn)擊事件距離整個(gè)屏幕頂邊的距離。
總結(jié):Android開(kāi)發(fā)隨處可見(jiàn)需要計(jì)算View高度,以上方法能在實(shí)際開(kāi)發(fā)中g(shù)et到View相關(guān)點(diǎn)。