LocationOnScreen-控件在手机屏幕中的位置坐标
2024-10-01 18:13:15
我们可以通过如下的方法获得某个控件在屏幕中的绝对坐标
代码如下:
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);
}
最新文章
- 4.修改更新源sources.list,提高软件下载安装速度(提供Kali 2.0 更新源)
- Qt 常用的功能
- [转]嵌入式SQC文件编译
- PL/0编译器(java version)–Praser.java
- 在Ubuntu中USB连接手机调试
- 安装和使用screen
- JVM内存模型及内存分配过程
- C++库研究笔记——生成一组随机数
- javascript学习笔记(一)
- OSD的主要实现方法和类型(转)
- 转:【Java集合源码剖析】LinkedList源码剖析
- 基于gtid的复制
- SublimeText 修改文件扩展名的默认语法高亮
- 学习MeteoInfo二次开发教程(十)
- 七天学会ASP.NET MVC ——深入理解ASP.NET MVC
- January 03rd, 2018 Week 01st Wednesday
- octave基本指令5
- elasticsearch常用配置
- Delphi APP 開發入門(六)Object Pascal 語法初探
- Linux学习-rsyslog.service :记录登录文件的服务