博客
关于我
android中getLocationInWindow 和 getLocationOnScreen的区别
阅读量:361 次
发布时间:2019-03-04

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

一个控件在其父窗口中的坐标位置可以通过.getLocationInWindow(int[] location)方法获取。该方法以控件为原点,返回控件在其窗口中的坐标位置。参数是一个整数数组location,其中包含两个整数,分别表示x轴和y轴的坐标。

同样,一个控件在其整个屏幕上的坐标位置可以通过.getLocationOnScreen(int[] location)方法获取。该方法以屏幕的左下角为原点,返回控件在屏幕上的绝对坐标位置。参数同样是一个整数数组location,其中包含两个整数,分别表示x轴和y轴的坐标。

需要注意的是,.getLocationInWindow方法以控件为原点,而.getLocationOnScreen方法以屏幕的左下角为原点。以下是两个方法的示例代码:

int[] location = new int[2];start.getLocationInWindow(location);location[0] = location[0]; // 获取当前位置的横坐标location[1] = location[1]; // 获取当前位置的纵坐标
int[] location = new int[2];start.getLocationOnScreen(location);location[0] = location[0]; // 获取当前位置的横坐标location[1] = location[1]; // 获取当前位置的纵坐标

需要注意的是,当控件不附加在窗口时,.getLocationInWindow方法可能无法返回有效的坐标位置。

转载地址:http://eepr.baihongyu.com/

你可能感兴趣的文章
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
Nginx Location配置总结
查看>>
Nginx 反向代理解决跨域问题
查看>>
nginx 后端获取真实ip
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 我们必须知道的那些事
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
查看>>
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>