Android View基础

View与ViewGroup

View是Android所有控件的基类。ViewGroup是View的子类,一般的布局控件LinearLayout、RelativeLayout等都是继承自ViewGroup。ViewGroup可以看做View的组合,它又可以包含View以及ViewGroup,以此类推,可以形成一棵View树。如下图

View树

坐标系

Android坐标系

在Android中,将屏幕左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,向下是Y轴正方向。另外在触控事件中,使用getRawX()和getRawY()方法获得的坐标也是Android坐标系的坐标。如下图

Android坐标系

View坐标系

如下图

View坐标
View获取自身的宽和高

width=getRight()-getLeft();
height=getBottom()-getTop();

对应View源码中的方法

    public final int getWidth() {
        return mRight - mLeft;
    }
    public final int getHeight() {
        return mBottom - mTop;
    }
View自身的坐标
  • getTop():获取View自身顶边到其父布局顶边的距离。
  • getLeft():获取View自身左边到其父布局左边的距离。
  • getRight():获取View自身右边到其父布局左边的距离。
  • getBottom():获取View自身底边到其父布局顶边的距离。
MotionEvent提供的方法

触摸事件中参数MotionEvent提供的方法经常使用。

  • getX():获取点击事件距离控件左边的距离,即视图坐标。
  • getY()):获取点击事件距离控件顶边的距离,即视图坐标。
  • getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。
  • getRawY():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。

参考《Android进阶之光》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容