您的位置:首页 > 其它

安卓自定义View基础01-坐标系讲解

2017-07-31 14:18 204 查看

一.Android屏幕坐标系的认识

移动设备,默认坐标系的原点(0,0)都是在屏幕的左上角,原点水平向右为X轴的正方向,原点水平向左,为X轴的负方向,同理,原点竖直向下为Y轴的正方向,原点竖直向上为Y轴的负方向

 


二.View的坐标系

注意:View的坐标系统是相对于父控件而言的.

getTop();       //获取子View左上角距父View顶部的距离
getLeft();      //获取子View左上角距父View左侧的距离
getBottom();    //获取子View右下角距父View顶部的距离
getRight();     //获取子View右下角距父View左侧的距离


如下图所示:



三.MotionEvent中 get 和 getRaw 的区别

event.getX();       //触摸点相对于其所在组件坐标系的坐标
event.getY();

event.getRawX();    //触摸点相对于屏幕默认坐标系的坐标
event.getRawY();


如下图所示:

PS:其中相同颜色的内容是对应的,其中为了显示方便,蓝色箭头向左稍微偏移了一点.



 方法详细使用请看下图:



 其中,触摸点表示点击的位置,View表示点击的控件,ViewGroup表示点击的控件所在的父容器,屏幕表示整个手机显示屏。

View获取坐标的方法有:

        getTop:获取到的,是view自身的顶边到其父布局顶边的距离

        getLeft:获取到的,是view自身的左边到其父布局左边的距离

        getRight:获取到的,是view自身的右边到其父布局左边的距离

        getBottom:获取到的,是view自身的底边到其父布局顶边的距离
MotionEvent获取坐标的方法有:

        getX():获取点击事件相对控件左边的x轴坐标,即点击事件距离控件左边的距离

        getY():获取点击事件相对控件顶边的y轴坐标,即点击事件距离控件顶边的距离

        getRawX():获取点击事件相对整个屏幕左边的x轴坐标,即点击事件距离整个屏幕左边的距离

        getRawY():获取点击事件相对整个屏幕顶边的y轴坐标,即点击事件距离整个屏幕顶边的距离

相信通过上图和API介绍你应该就可以很好的理解和使用各种获取坐标值、相对距离的方法了。

                       -------------------------------Android群英传第五章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: