全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 坐标系与视图坐标系图解分析

1. Android坐标系

在Android中,将屏幕的最左上角顶点作为Android坐标系的原点

从原点向右是X轴的正方向,从原点向下是Y轴的正方向

View提供了getLocationOnScreen( int[] location)方法来获取在整个屏幕内的绝对坐标,该坐标值为View左上角的坐标。注意该View的坐标值是从屏幕左上角开始获取的,所以也包括了通知栏的高度

该方法的具体实现

/**
   * <p>Computes the coordinates of this view on the screen. The argument
   * must be an array of two integers. After the method returns, the array
   * contains the x and y location in that order.</p>
   *
   * @param location an array of two integers in which to hold the coordinates
   */
  public void getLocationOnScreen(@Size(2) int[] location) {
    getLocationInWindow(location);

    final AttachInfo info = mAttachInfo;
    if (info != null) {
      location[0] += info.mWindowLeft;
      location[1] += info.mWindowTop;
    }
  }

可看到,传入的int[]数组中,location[0]代表的是X轴坐标,location[1]代表的Y轴坐标

这里还有个getLocationInWindow方法,作用是获取View在当前窗口内的绝对坐标

我们在通过MotionEvent类中的getRawX(),getRawY()方法获取的坐标同样也属于这种Android坐标系里的坐标

2. 视图坐标系

Android中的视图坐标系,描述的是子视图与其父视图中的位置关系

和Android坐标系一样,视图坐标系也是以原点向右为X轴正方向,以原点向下为Y轴正方向,与Android坐标系不同的是,视图坐标系的原点是以父视图左上角的位置为原点

如上图中,对于Button来说,父视图LinearLayout左上角就是视图坐标系的原点(0,0)

我们通过MotionEvent类中的getX()、getY()方法所获得的就是视图坐标系的坐标

在Android中,系统提供了很多获取坐标值、相对距离等方法

View提供的API

•getTop():获取View顶边到其父布局顶边的距离

•getLeft():获取View左边到其父布局左边的距离

•getRight():获取View右边到其父布局左边的距离

•getBottom():获取View底边到其父布局顶边的距离

MotionEvent提供的API

• getX():获取点击位置离View左边的距离

• getY():获取点击位置离View顶边的距离

• getRawX():获取点击位置离屏幕左边的距离

• getRawY():获取点击位置离屏幕顶边的距离

以上这篇Android 坐标系与视图坐标系图解分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# android  # 坐标系  # Android如何基于坐标对View进行模拟点击事件详解  # Android中GPS坐标转换为高德地图坐标详解  # ANDROID中使用VIEWFLIPPER类实现屏幕切换(关于坐标轴的问题已补充更改)  # Android应用 坐标系详细介绍  # Android开发中MotionEvent坐标获取方法分析  # 深入浅析Android坐标系统  # android获得当前view在屏幕中坐标的方法  # Android中如何指定SnackBar在屏幕的位置及小问题解决  # Android仿淘宝view滑动至屏幕顶部会一直停留在顶部的位置  # Android获取点击屏幕的位置坐标  # 的是  # 其父  # 给大家  # 类中  # 有个  # 坐标值  # 是从  # 希望能  # 这篇  # 方法来  # 小编  # 图中  # 值为  # 大家多多  # 组中  # 在整个  # java  # lt  # pre  # class 


相关文章: 如何通过VPS搭建网站快速盈利?  建站之星官网登录失败?如何快速解决?  建站之星如何防范黑客攻击与数据泄露?  ,想在网上投简历,哪几个网站比较好?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站主机解析:虚拟主机配置与服务器选择指南  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  ppt制作免费网站有哪些,ppt模板免费下载网站?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何快速查询网址的建站时间与历史轨迹?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  PHP 500报错的快速解决方法  如何撰写建站申请书?关键要点有哪些?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  建站之星如何快速解决建站难题?  建站之星各版本价格是多少?  IOS倒计时设置UIButton标题title的抖动问题  内部网站制作流程,如何建立公司内部网站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何用wdcp快速搭建高效网站?  实例解析angularjs的filter过滤器  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  C++时间戳转换成日期时间的步骤和示例代码  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何选择服务器才能高效搭建专属网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  黑客入侵网站服务器的常见手法有哪些?  如何选择网络建站服务器?高效建站必看指南  建站之星代理如何获取技术支持?  名字制作网站免费,所有小说网站的名字?  在线教育网站制作平台,山西立德教育官网?  如何在腾讯云服务器上快速搭建个人网站?  如何在橙子建站上传落地页?操作指南详解  如何选择高性价比服务器搭建个人网站?  如何在阿里云部署织梦网站?  高防服务器租用如何选择配置与防御等级?  b2c电商网站制作流程,b2c水平综合的电商平台?  股票网站制作软件,网上股票怎么开户?  建站之星24小时客服电话如何获取?  如何在服务器上三步完成建站并提升流量?  如何在IIS管理器中快速创建并配置网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在VPS电脑上快速搭建网站?  宝塔建站助手安装配置与建站模板使用全流程解析  香港服务器选型指南:免备案配置与高效建站方案解析  css网站制作参考文献有哪些,易聊怎么注册?  建站之星导航配置指南:自助建站与SEO优化全解析  如何在阿里云服务器自主搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。