Android获得点击屏幕的位置坐标
条评论开发者选项获得点击屏幕的位置坐标
在手机开发者选项中,打开指针位置,可以在屏幕上方获取当前点击位置的坐标点(x,y)
1 | P:1/1 X:553 Y:1851 Xv:0:0 Yv:0:0 Prs:1.0 Size:0.13 |
命令行窗口输入:adb shell input tap 553 1851
实现点击效果
通过adb shell getevent
命令获得点击屏幕的位置坐标
- 命令行窗口输入:
1
adb shell getevent -p | grep -e "0035" -e "0036"
获得event 体系里 width宽(0035)和height高(0036)
2. 计算比例
用到其中的max值
1 | 0035(width) max 1024 |
跟手机屏幕的分辨率比较,获取手机分辨率在命令行窗口输入:
1 | adb shell wm size |
即手机分辨率是: 1280(width) x 600(height)
计算比例
1 | rateW = 1280(手机屏幕的宽) / 1024(event里0035的max) = 1.25 |
- 点击屏幕计算点击位置的坐标
在命令行窗口输入:
1 | adb shell getevent | grep -e "0035" -e "0036" |
注意:这里的命令
adb shell getevent
不带-p
参数
例如,点击屏幕一个位置得到输出:
1 | /dev/input/event0: 0003 0035 00000280 |
把0035和0036后面的位置数据从16进制转化为10进制
1 | width = 0x280 = 2*16*16 + 8*16 = 640 |
这是在event体系里的位置,将其转化为屏幕位置
1 | screenW = width*rateW = 640*1.25 = 800 |
最终算出来了
刚刚点击的屏幕位置坐标就是(800, 396)
代码TouchEvent里面的位置直接就是你在屏幕上的点击位置
1 | // ACTION_DOWN:用户按下屏幕的事件 |
详细代码
https://github.com/xmaihh/KotlinTrainingThings/releases/tag/v1.0
本文标题:Android获得点击屏幕的位置坐标
文章作者:xmaihh
发布时间:2018-12-17
最后更新:2018-12-17
原始链接:https://xmaihh.github.io/blog/2018/12/17/android-huo-de-dian-ji-ping-mu-de-wei-zhi-zuo-biao/
版权声明:采用[CC BY-NC-SA 4.0许可协议]进行许可
分享