gpt4 book ai didi

java - Android - 将触摸坐标发送到另一台设备

转载 作者:行者123 更新时间:2023-12-02 13:10:13 26 4
gpt4 key购买 nike

我想在我的设备中绘制一些东西,并且绘画将在另一个设备上绘制。

为此,我编写了一个服务器,它获取 onTouchEvent 的坐标并将其发送到其他设备:

public boolean onTouchEvent(MotionEvent event) {
float touchX = event.getX();
float touchY = event.getY();

client.sendMessage(touchX+this.getLeft() + " " + touchY+this.getTop() + " " + event.getAction());
return true;
}

但是,由于屏幕的大小不同,油漆并不是相对的。

对此我能做什么?

tnx,很抱歉我的英语不好。

解决方案:

这是新代码:

public boolean onTouchEvent(MotionEvent event) {
float touchX = event.getX();
float touchY = event.getY();
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;

client.sendMessage((touchX)/width + " " + (touchY)/height + " " + event.getAction());
return true;
}

不要忘记在其他设备中相乘。

最佳答案

要使其相对,您必须将坐标除以屏幕高度/宽度。

float touchX = event.getX();
float touchY = event.getY();

float relX = touchX / screenWidth;
float relY = touchY / screenHeight;

然后在其他设备上,您将必须乘以屏幕尺寸

float corX = relX * screenWidth;
float corY = relY * screenHeight;

关于java - Android - 将触摸坐标发送到另一台设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com