获得屏幕坐标 - zLulus/My_Note GitHub Wiki

全局获得屏幕坐标,不止是app内,也不是通过click,tap的监听事件

开发者模式

开发者模式打开坐标显示

adb

手机连接电脑,获得坐标

自定义方法

应用于手机既不能连接电脑,也不能打开开发者模式
必须获得坐标
1.截图
2.在app中用ImageView打开截图
这里默认app为竖屏,则打开竖屏截图不做处理,打开横屏截图,将截图向右旋转90度

Bitmap bitmap = BitmapFactory.DecodeFile(loadImageExtra);
//横屏图片进行旋转
if (bitmap.Height < bitmap.Width)
{
	var rotate=90;
	Matrix matrix = new Matrix();
	matrix.PostRotate(rotate);
	Bitmap rotatedBitmap = Bitmap.CreateBitmap(bitmap, 0, 0, bitmap.Width, bitmap.Height, matrix, true);
	imageView.SetImageBitmap(rotatedBitmap);
}

3.监听Tap事件获得坐标e.Event.RawXe.Event.RawY
需要注意的是,横竖屏的问题
在APP为竖屏的情况下,图片为竖屏截图,则X、Y不改变

float actualX = e.Event.RawX;
float actualY = e.Event.RawY;

在APP为竖屏的情况下,图片为横屏截图,则X、Y需要计算(这里是图片向右旋转90度后的计算公式)

float actualX= e.Event.RawY;
float actualY=screenWidth- e.Event.RawX;