Android中的坐标系统分为两种:一种是相对整个屏幕而言的,我们称之为Android坐标系;另一种是相对父布局而言的,我们称之为视图坐标系。

Android坐标系

系统提供了getLocationOnScreen()这样的方法来获取Android坐标系中点的位置,getRawX()getRawY()同样是获取Android坐标系中的坐标。

视图坐标系

通过getX()getY()获取的坐标就是相对父布局的坐标。

Canvas坐标系

Canvas坐标系指的是Canvas本身的坐标系,Canvas坐标系有且只有一个,且是唯一不变的,其坐标原点在View的左上角,从坐标原点向右为x轴的正半轴,从坐标原点向下为y轴的正半轴。

绘图坐标系

Canvas的drawXXX方法中传入的各种坐标指的都是绘图坐标系中的坐标,而非Canvas坐标系中的坐标。默认情况下,绘图坐标系与Canvas坐标系完全重合,即初始状况下,绘图坐标系的坐标原点也在View的左上角,从原点向右为x轴正半轴,从原点向下为y轴正半轴。但不同于Canvas坐标系,绘图坐标系并不是一成不变的,可以通过调用Canvas的translate方法平移坐标系,可以通过Canvas的rotate方法旋转坐标系,还可以通过Canvas的scale方法缩放坐标系,而且需要注意的是,translate、rotate、scale的操作都是基于当前绘图坐标系的,而不是基于Canvas坐标系,一旦通过以上方法对坐标系进行了操作之后,当前绘图坐标系就变化了,以后绘图都是基于更新的绘图坐标系了。也就是说,真正对我们绘图有用的是绘图坐标系而非Canvas坐标系。

更多相关文章

  1. android中的坐标系以及获取坐标的方法
  2. Android OnTouchListener实时监听触点坐标,需要同时监听OnClickLi
  3. Android坐标系、视图坐标系与触控事件(MotionEvent)
  4. Android图表控件MPAndroidChart——LineChart实现 XY轴、原点线
  5. 1 简介 在上一篇文章中我们对geopandas中的坐标参考系有了较为
  6. Python地信专题 | 基于geopandas的空间数据分析-坐标参考系篇
  7. Unity3D之坐标系的转换
  8. 官方示例(十三):3步70行代码开发GIS点坐标技术 ThingJS
  9. PHP实例计算经纬坐标间的距离

随机推荐

  1. 一文学会Vue中间件管道[每日前端夜话0x8C
  2. 链路追踪 SkyWalking 源码分析 —— Coll
  3. CPU 是怎样工作的?[每日前端夜话0x89]
  4. 造了一个 Redis 分布锁的轮子,没想到还学
  5. 链路追踪 SkyWalking 源码分析 —— Coll
  6. 作业调度中间件 Elastic-Job-Cloud 源码
  7. android framework中添加使用第三方jar包
  8. 链路追踪 SkyWalking 源码分析 —— 调试
  9. 链路追踪 SkyWalking 源码分析 —— Coll
  10. 链路追踪 SkyWalking 源码分析 —— Coll