android 坐标系

来源:互联网 发布:绿豆沙护眼软件 编辑:程序博客网 时间:2024/05/20 20:03

一 坐标系
android 坐标系分为屏幕坐标系和view坐标系:
屏幕坐标系是以我们手机屏幕的左上角为原点(0,0),水平方向为X轴,向右为正向,垂直方向为Y轴,向下为正向;如图1-1
View坐标系是以父级控件的左上角为原点,水平方向为X轴,垂直方向为Y轴;如图1-2

二 View的绘制流程

onMeasure(int width,int height) 测量

 @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        if (mOrientation == VERTICAL) {            measureVertical(widthMeasureSpec, heightMeasureSpec);        } else {            measureHorizontal(widthMeasureSpec, heightMeasureSpec);        }    }

onLayout() 设置位置

 protected void onLayout(boolean changed, int left, int top, int right, int bottom) {}

draw()绘制View

//draw()方法是view绘制的总调度方法public void draw(Canvas canvas) {      ...    drawBackground(Canvas); // 绘制背景(不能重写)    onDraw(Canvas); // 绘制主体    dispatchDraw(Canvas); // 绘制子 View    onDrawForeground(Canvas); // 绘制滑动相关和前景    ...}