我有一个键盘 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/