我试图在我的视图中的onTouchListener中进行简单的方向识别,但是event.getHistorySize()返回0,有时返回0,但很少返回1或2。通常来说,没有历史记录,所以我无法识别

    ll3.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
                if (arg1.getHistorySize() > 0) {
                    int prev = (int) arg1.getHistoricalY((arg1
                            .getHistorySize() - 1));
                    if (arg1.getY() > prev) {


有谁知道问题出在哪里吗?

最佳答案

除非您有充分的理由查看传感器输出的每个值,否则您可能会执行类似的操作。 (在两帧之间输出的值可能不太重要?)

ll3.setOnTouchListener(new OnTouchListener() {
    @Override
    int prevY=0;
    public boolean onTouch(View arg0, MotionEvent arg1) {
            if (arg1.getY() > prevY) {
               // do stuff
            }
            prevY = arg1.getY();

关于android - OnTouch历史记录大小始终为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9862759/

10-12 04:31