一上来就搜keyPress,pointPress未果,于是Google了下,发现在Android里触摸屏的处理方式如下:
主要有两种方式:
1.在View类里调用onTouchEvent(MotionEvent event)
关于这个我发现了一些问题,在此特别记下。
最初的代码如下,当我在event.getAction() == MotionEvent.ACTION_UP这一句里下断点的时候,我触屏事件up的时候,并未断到,其实最初发现这个问题的原因是我并不想在onTouchEvent里面处理按键的操作,而是想放到状态机里进行处理,于是我就一直在研究onTouchEvent和View单起线程的调用关系结果在我打调试信息的时候,发现这个up并未调用。
于是继续搜资料,最后得出的结论如下。
1.如果需要最终处理的事件的View的onTouchEvent返回了false,那么该事件将被传递至上一层的view的onTouchEvent处理。
1.如果需要最终处理的时事件的View的onTouchEvent返回了True,那么该事件将可以继续传递给该view的onTouchEvent处理。
结果是将这一句return super.onTouchEvent(event); 改为return true;即可。
嘿嘿。
另外一种监听方式正在探索中,我会在后续的文章中补齐