【问题标题】:Android Q, Touch screen does not scale after resolution changedAndroid Q,分辨率更改后触摸屏不缩放
【发布时间】:2020-07-10 18:47:27
【问题描述】:

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

wm 尺寸 1080X1920

但是,分辨率发生了变化并且看起来非常好,但触摸屏却没有。 触摸区域保持在 720x1280,桌面部分区域在我触摸时没有事件响应。

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

谢谢,

【问题讨论】:

    标签: android android-source


    【解决方案1】:

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

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

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多