android 座標系詳解 (getTop、getLeft、getRawX......)
阿新 • • 發佈:2019-01-05
這是手動畫的有點醜,將就可以看,這是不知道看第幾次了,但是過一段時間就忘記了,好記性不如手動再記錄一下加深印象。
Android 座標系分三類
1、螢幕座標系:以螢幕(0.0),X軸向右,y軸向下的方向
2.佈局座標系: 該座標系是以 viewgroup 的左上角為座標原點, 水平向右代表 x 方向的正方向, 垂直向下代表 y 方向的正方向, view 的座標是在 layout 佈局過程中做確定的. 也就是view在viewgroup中的位置
3.檢視座標系: 該座標系是在 view 繪製過程中, 繪製的內容將該座標系作為參考, 來繪製 view.也就是內容在view裡面的位置
View 提供瞭如下 5 種方法獲取 View 的座標:
1. View.getTop()、View.getLeft()、View.getBottom()、View.getRight();
2. View.getX()、View.getY();
3. View.getTranslationX()、View.getTranslationY();//偏移量
4. View.getLocationOnScreen(int[] position);
5. View.getLocationInWindow(int[] position);
一、view當中的方法
求view的height、width
getTop():獲取 view 本身頂部到父容器 ViewGroup 頂部的距離. getBottom(): 獲取 view 本身底部到父容器 ViewGroup 頂部的距離. getLeft(): 獲取 view 本身左側到父容器 ViewGroup 左側的距離. getRight(): 獲取 view 本身右側到父容器 ViewGroup 左側的距離. 以上方法得到的值都是 該view針對他所在父容器的座標 (佈局座標系)
View的Height值 = view.getBottom() - view.getTop();
View的Width值 = view.getRight() - view.getLeft();
二、MotionEvent當中的方法
getY(): 獲取點選事件相對控制元件左邊的x軸座標,即點選事件距離控制元件左邊的距離 getY():獲取點選事件相對控制元件頂邊的y軸座標,即點選事件距離控制元件頂邊的距離 getRawX():獲取點選事件相對整個螢幕左邊的x軸座標,即點選事件距離整個螢幕左邊的距離 getRawY():獲取點選事件相對整個螢幕頂邊的y軸座標,即點選事件距離整個螢幕頂邊的距離
記住這裡的東西,,使在view上面奠定基礎
這是一個非常詳細明瞭的自定義View基礎 - 最易懂的自定義View原理系列(1)