我们可以通过如下的方法获得某个控件在屏幕中的绝对坐标

代码如下:

 private int[] mHistoryDisplayButtonLocation;
private int mHistoryDisplayButtonLocationX;
private int mHistoryDisplayButtonLocationY; mHistoryDisplayButtonLocation = new int[2];
mHistoryDisplayButton.getLocationOnScreen(mHistoryDisplayButtonLocation);
mHistoryDisplayButtonLocationX = mHistoryDisplayButtonLocation[0];
mHistoryDisplayButtonLocationY = mHistoryDisplayButtonLocation[1];

如果你把上面这段代码放到onCreate中执行,那么你会发现,打印的结果是0

后来网上找答案,说是定位坐标需要时间。但是,在另一篇文章中看到了真正的解决方法

原来,我们需要把上面得到坐标的操作放到

onWindowFocusChanged    方法中去执行

 @Override
public void onWindowFocusChanged(boolean hasFocus) {
mHistoryDisplayButton.getLocationOnScreen(mHistoryDisplayButtonLocation);
mHistoryDisplayButtonLocationX = mHistoryDisplayButtonLocation[0];
mHistoryDisplayButtonLocationY = mHistoryDisplayButtonLocation[1]; super.onWindowFocusChanged(hasFocus);
}

最新文章

  1. 4.修改更新源sources.list,提高软件下载安装速度(提供Kali 2.0 更新源)
  2. Qt 常用的功能
  3. [转]嵌入式SQC文件编译
  4. PL/0编译器(java version)–Praser.java
  5. 在Ubuntu中USB连接手机调试
  6. 安装和使用screen
  7. JVM内存模型及内存分配过程
  8. C++库研究笔记——生成一组随机数
  9. javascript学习笔记(一)
  10. OSD的主要实现方法和类型(转)
  11. 转:【Java集合源码剖析】LinkedList源码剖析
  12. 基于gtid的复制
  13. SublimeText 修改文件扩展名的默认语法高亮
  14. 学习MeteoInfo二次开发教程(十)
  15. 七天学会ASP.NET MVC ——深入理解ASP.NET MVC
  16. January 03rd, 2018 Week 01st Wednesday
  17. octave基本指令5
  18. elasticsearch常用配置
  19. Delphi APP 開發入門(六)Object Pascal 語法初探
  20. Linux学习-rsyslog.service :记录登录文件的服务

热门文章

  1. Hyper-v Server安装与配置-新加GUI界面配置工具介绍
  2. Python(八) 正则表达式与JSON
  3. mvc下是如何传值的
  4. Installation from source on Windows 7 with Visual C++2012
  5. power design设计数据库
  6. PHP抓取网页内容的几种方法
  7. 2018上半年GitHub上最热门的开源项目
  8. 使用UltraEdit配置多行注释和取消多行注释
  9. HDU——T 1556 Color the ball
  10. RvmTranslator6.5 is released