Android開發中getleft和getX,getRawX的區別


1. view的方法getLeft(),getTop(),getRight(),getBottom()

以上所有方法得到的值均爲該view相對於父容器的相對座標,而非view在手機屏幕上的座標。


2.view的方法:getHeight(),getWidth()

獲取view的寬高。


3.view的方法:getX(),getY(),

 getX() {
    return mLeft + getTranslationX();
}
如源碼所示:返回值爲該view相對於父容器的相對座標+平移值;如果view並未進行平移操作,該值與getleft一致。


3.motionEvent方法:getX(),getY(),

點擊事件相對於其所在控件左邊和頂部的距離。

在自定義view的時候經常用到,比如手勢放大縮小圖片的view.


4.motionEvent方法:getRawX(),getRawY()

點擊事件相對於手機屏幕的左邊和頂部的距離。


5.getLeft返回值爲0? 

在oncreate函數裏,此時,所有view尚未measure,layout完畢,所以getleft返回0.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章