java - ACTION_MOVE 未报告正确的 Y 值

标签 java android view keyboard touch

我有一个键盘 View ,当手指离开键盘 View 时,我需要跟踪 ACTION_MOVE。问题是,一旦它超出范围,它就会停止报告正确的 Y 值,并在我的手指位于键盘 View 上方时继续报告最后一个 Y 值。

为了调试,我只添加了一个简单的 onTouchListener,所以我知道该服务的其余部分不会以任何方式干扰触摸事件。

setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.v("YBugDebug", "getRawY() = "+ event.getRawY()+"");
            return true;
        }
});

我已经调试了好几天了,但找不到原因。有什么建议么?我尝试了 getY() getRawY(),将监听器附加到 Root View 。

奇怪的是,Y 值在 Gingerbread 中以及当我的 ICS 设备处于横向时报告正确。如下所述,该 View 似乎没有响应悬停事件。

我尝试将 onTouch 添加到 Root View ,但结果完全一样。令人难以置信的是,为什么它可以检测到移动但不能检测到正确的 Y 轴。

问题如下:

最佳答案

我不是这方面的专家,但您是说 ACTION_MOVE 事件是在您的 KeyboardView 边界之外触发的吗?

关于java - ACTION_MOVE 未报告正确的 Y 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920914/

相关文章:

java - 并发读取文本文件并将数据放入数组的线程

java - 如何在android中获取文件所有权和权限

java - 如何使用 PDFBox 获取 PDF 表单中存在的字段类型

java - 在 android 的默认联系人内容提供者中添加新列

PHP/MYSQL 查询 : Get line above and below result!

php - 当我在 url 末尾添加斜杠 (/) 时,CSS 不起作用

iOS:如何使用 Swift 在 View 之间滑动

android - 从 Android Studio 中完全删除一个项目?

android - Mipmap 文件夹缺少 Android

java - 应用因违反我们的恶意行为或用户数据政策而被 Google Play 拒绝