您现在的位置: 主页 > 嵌入式操作系统 > Android > Android坐标系与相关问题
本文所属标签:
为本文创立个标签吧:

Android坐标系与相关问题

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-01 

 

     今天来看下android中与坐标系相关的问题,因为在正常开发中很多动画或位置计算都是基于坐标进行的计算。

一、坐标系的确定

   android中屏幕的左上角就是原点(00);

   原点向右延伸就是X轴正方向,原点向下延伸就是Y轴正方向




二、View拥有和坐标相关的方法说明

view.getX(),view.getY():获取的是当前视图View的左上角距离父类View的水平方向、垂直方向的距离像素值;

 

view.getTop()view.getLeft();获取的是view原始状态的情况下view的上边线、左边线距离父类View的上边线、左边线的距离;

 

view.getBottom(),view.getRight():获取的是view原始状态下view的下边线、右边线距离父类View的上边线、左边线的距离,getRight()=getLeft()+getWidth(); getBottom()=getTop()+getHeight();

 

view.getScrollX() , view.getScrollY():获取是当前view的左上角相对于父类View的在水平、垂直方向的偏移量。

getScrollX()= getX()-getLeft();  getScrollY()=getY()-getTop();

在无偏移的情况下:getX()=getLeft()

 

view.scrollTo(x,y):视图相对父类View的坐标原点移动到对应的xy坐标上

view.scrollBy(x,y):视图view相对自己的位置,移动对应的值

 

三、事件中MotionEvent的方法

event.getX()event.getY():当前事件点相对于自己view的左边线、上边线的距离

event.getRawX()event.getRawY():当前事件相对于屏幕的左边线、上边线的路径

 


 

以上的整体说明可以看下图:

 

四、View相对整个屏幕的坐标问题

 

View的方法

结论描述

getLocalVisibleRect()

获取View自身可见的坐标区域,坐标以自己的左上角为原点(0,0),另一点为可见区域右下角相对自己(0,0)点的坐标,其实View2当前height为550,可见height为470。

getGlobalVisibleRect()

获取View在屏幕绝对坐标系中的可视区域,坐标以屏幕左上角为原点(0,0),另一个点为可见区域右下角相对屏幕原点(0,0)点的坐标。

getLocationOnScreen()

坐标是相对整个屏幕而言,Y坐标为View左上角到屏幕顶部的距离。

getLocationInWindow()

如果为普通Activity则Y坐标为View左上角到屏幕顶部(此时Window与屏幕一样大);如果为对话框式的Activity则Y坐标为当前Dialog模式Activity的标题栏顶部到View左上角的距离。

 




              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Android > Android坐标系与相关问题
 屏幕 坐标 边线

网站地图

围观()