1. 程式人生 > >android 座標系詳解 (getTop、getLeft、getRawX......)

android 座標系詳解 (getTop、getLeft、getRawX......)

這是手動畫的有點醜,將就可以看,這是不知道看第幾次了,但是過一段時間就忘記了,好記性不如手動再記錄一下加深印象。

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上面奠定基礎

Android View座標系詳解

android view 座標系

這是一個非常詳細明瞭的自定義View基礎 - 最易懂的自定義View原理系列(1)