博客
关于我
Android自定义View(一)__坐标系
阅读量:233 次
发布时间:2019-02-28

本文共 565 字,大约阅读时间需要 1 分钟。

*屏幕坐标系和数学中的坐标系的区别

由于Android定义屏幕左上角为坐标原点 , 向右为x轴增大方向 , 向下为y轴增大方向 , 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下图:


Android屏幕坐标系 - - - - - -> > > 数学中的坐标系


实际手机的坐标系如下图所示 (黄色区域是手机屏幕)


手机坐标图


* 控件(View)的坐标系


View的坐标系统是相对于父控件而言的

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

如下图所示:

View坐标系


*MotionEvent中 get 和 getRaw 的区别

    event.getX();       //触摸点相对于其所在组件坐标系的坐标    event.getY();    event.getRawX();    //触摸点相对于屏幕默认坐标系的坐标    event.getRawY();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如下图所示: 
这里写图片描述


到此Android自定义view坐标系的内容介绍完了,谢谢!

你可能感兴趣的文章
Python 中的 Pillow 不允许我打开图像(“超出限制“)
查看>>
Python 中的 threading 模块和 multiprocessing 模块有何区别?
查看>>
Python 中的 threading 模块和 multiprocessing 模块有何区别?
查看>>
Python 中的 Turtle 库详解
查看>>
Python 中的 __slots__ 属性有什么作用?
查看>>
Python 中的... 三点、箭头(->)、/ 分别的作用
查看>>
python读取json数据的id_python处理JSON数据
查看>>
Python 中的Duck Typing
查看>>
Python 中的for in 遍历生成字典、添加判断条件if
查看>>
Python 中的Lock与RLock
查看>>
Python 中的range(),arange()函数
查看>>
Python 中的内存管理机制
查看>>
Python 中的函数包装器:模型运行时和调试
查看>>
Python 中的列表理解和 lambda
查看>>
Python 中的多层for in嵌套循环使用
查看>>
Python 中的多线程(01/4)
查看>>
Python 中的多进程(01/2):简介
查看>>
Python 中的多进程(02/2):进程之间的通信)
查看>>
Python 中的字符串、列表、元组和字典数据类型的特点和使用场景
查看>>
Python 中的属性访问器是什么?如何使用 @property 装饰器?
查看>>