android自定義View——座標系
在開發過程中有的時候我們會實現一些特殊功能,如元件滑動到一定距離隱藏或顯示、圖片置頂等等,這個時候view的座標就派上了用場了;同樣在自定義控制元件的時候,座標系也是經常用到的,下面記錄一下在複習過程中view座標系的一些知識。
目錄
- view的四個頂點座標
- view的x、y、translationX、translationY座標
- MotionEvent獲取座標

1. view的四個頂點座標
view的位置主要由四個頂點座標來決定,並且這個四個座標都是相當座標,view在移動過程中,它們的值不會發生變化。
注:圖1灰色部分為view相對於其父容器的四個頂點座標
四個頂點座標分別為:
getTop();//獲取子View左上角距父View頂部的距離 getLeft();//獲取子View左上角距父View左側的距離 getBottom();//獲取子View右下角距父View頂部的距離 getRight();//獲取子View右下角距父View左側的距離 複製程式碼
view的寬高計算:
//寬=right-left int width = getRight() - getLeft(); //框架自帶 int width2 = getWidth(); //高=bottom-top int height = getBottom() - getTop(); int height2 = getHeight(); 複製程式碼
2. view的x、y、translationX、translationY座標

android3.0之後為view增加了x、y、translationX、translationY坐引數(上面圖2)。其中x、y為view左上角的座標,translationX、translationY是view左上角相對於父容器的偏移量,它們預設值為0。
//x、y的計算 float x = getLeft() + getTranslationX(); float x2 = getX(); float y = getTop() + getTranslationY(); float y2 = getY(); 複製程式碼