我正在制作键盘应用。我想在用户开始在键盘内滑动并进入键盘视图之外时接收触摸坐标。
我覆盖了onTouchEvent(MotionEvent me)
,如下所示:
@Override
public boolean onTouchEvent(MotionEvent me){
int action = me.getAction();
if(action == MotionEvent.ACTION_DOWN){
}
else if(action == MotionEvent.ACTION_MOVE){
Log.d("testing", "touchY = " + me.getY());
return true;
}
else if(action == MotionEvent.ACTION_UP){
}
else if(action == MotionEvent.ACTION_OUTSIDE){
}
return super.onTouchEvent(me);
}
但是,一旦用户退出KeyboardView
,即使用户垂直滑动手指,me.getY()
也会保持归零。有趣的是,即使手指移出me.getX()
KeyboardView
也会给出正确的值
我的猜测是它与权限或Window LayoutParams
标记或类似标记有关。