Android Q,分辨率改变后触摸屏不会缩放



我正试图通过此命令将分辨率从720x1280更改为1080X1920。

wm尺寸1080X1920

然而,分辨率发生了变化,看起来非常好,但触摸屏没有。触摸区域保持在720x1280中,当我触摸它时,桌面中的一部分区域没有事件响应。

有人知道AOSP从Android O到Android Q的规则变化吗?我正在试图找出WindowManager.java中的问题,但仍然没有找到根本原因。如有任何信息,我们将不胜感激。

谢谢,

在InputReader.cpp中描述的isPointInsideSurface处输入事件的目标表面触摸范围。它在分辨率缩放后报告错误的输入事件坐标。

将规则更改回旧版本,问题已解决

bool TouchInputMapper::isPointInsideSurface(int32_t x, int32_t y) {
const float scaledX = x * mXScale;
const float scaledY = y * mYScale;
return x >= mRawPointerAxes.x.minValue && x <= mRawPointerAxes.x.maxValue
&& scaledX >= mPhysicalLeft && scaledX <= mPhysicalLeft + mPhysicalWidth
&& y >= mRawPointerAxes.y.minValue && y <= mRawPointerAxes.y.maxValue
&& scaledY >= mPhysicalTop && scaledY <= mPhysicalTop + mPhysicalHeight;

更改为:

return x >= mRawPointerAxes.x.minValue && x <= mRawPointerAxes.x.maxValue && y >= mRawPointerAxes.y.minValue && y <= mRawPointerAxes.y.maxValue;

最新更新