gpt4 book ai didi

java - Android: getX getY 初始延迟

转载 作者:行者123 更新时间:2023-11-30 09:07:25 26 4
gpt4 key购买 nike

<分区>

当读取一系列 onTouch 事件的 getX()getY() 值时,我发现 ACTION_MOVE 事件将返回 ACTION_DOWN 坐标,直到超过这些坐标的特定距离阈值。从那时起,将始终返回正确的坐标。

重现步骤:

  1. 使用默认 Activity 创建一个新的应用程序项目
  2. 将以下方法添加到默认 Activity :

    @Override  
    public boolean onTouchEvent(MotionEvent event) {
    Log.i("getXYDelay", "(x,y)=("+event.getX() + "," + event.getY() + ")");
    return super.onTouchEvent(event);
    }
  3. 在设备上运行并在触摸和拖动时观察 logcat

您应该看到,在每次触摸和拖动时,getX()/getY() 结果仅在您的手指移动半个中心米左右后才开始变化, 从此准确无误。

我知道在很多情况下这会有帮助,但它会导致我正在编写的应用程序出现问题,因此:

  • 这个初始滞后是否可以克服?还是可以绕过?
  • 它是特定于设备的吗?

理想情况下,我想为单个 OpenGL 表面 View 关闭它。

注意:

  • 当我使用 Samsung Note SPen 时不会发生这种情况。
  • getRawX()/getRawY() 也是如此。
  • 这不会发生在模拟器上,因此可能来自硬件触摸驱动程序。

更新:我假设这是由硬件驱动程序或类似级别引起的,因此超出了应用程序的控制范围。我也曾尝试将此发布到 android 开发人员组,但几周后版主似乎仍然坐在我的帖子上。

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