View的坐标体系

2017-11-08  本文已影响84人  AndroidTony
view坐标.png

Position

1 getLeft(),getTop(),getRight(),getBottom()

需要注意的是,View.getTop()、View.getLeft()、View.getBottom()、View.getRight()这四个方法获取的坐标表示的是View原始状态时相对于父容器的坐标,对View进行平移操作并不会改变着四个方法的返回值。

2 getX(),getY()

getX()与getY()方法获取的是View左上角相对于父容器的坐标,当View没有发生平移操作时,getX()==getLeft()、getY==getTop()。

3 getTranslationX(),getTranslationY()

translationX与 translationY是View左上角相对于父容器的偏移量:translationX = getX() - getLeft(),当View未发生平移操作时,translationX 与translationY都为0。

4 View.getLocationOnScreen(int[] position);

获取View相对于整个屏幕的坐标。

5 View.getLocationInWindow(int[] position);

获取View相对于Window的坐标(忽略状态栏及ActionBar)。

Size

Layout

void layout (int l, int t, int r, int b)
子View相对于父view的位置。

注意:View的宽高是有top、left、right、bottom参数决定的。在View发生改变的过程中,top,left等值代表原始位置,是不会改变的。改变的只有X、Y,translationX、Y。

触摸点MotionEvent的坐标:

用户点击的坐标.png
上一篇 下一篇

猜你喜欢

热点阅读