美文网首页
Android View基础

Android View基础

作者: M45ter | 来源:发表于2019-11-30 13:47 被阅读0次

    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进阶之光》

    相关文章

      网友评论

          本文标题:Android View基础

          本文链接:https://www.haomeiwen.com/subject/wljowctx.html