博客
关于我
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坐标系的内容介绍完了,谢谢!

你可能感兴趣的文章
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node.js 8 中的 util.promisify的详解
查看>>
Node.js 函数是什么样的?
查看>>