2013年5月15日 星期三

[Android] 偵測手指在Activity左右滑動的方向

以下為偵測手指在Activity頁面左右滑動的方向,可自行增加對應的邏輯。



public class MainActivity extends Activity {

    @Override  
    public boolean onTouchEvent(MotionEvent event)
    {
        float x = event.getX();
        float y = event.getY();
        switch(event.getAction()) {

            case MotionEvent.ACTION_DOWN: 
                x_01 = x;
                y_01 = y;
                break;
                
            case MotionEvent.ACTION_UP: 
                x_02 = x;
                y_02 = y;
                        
                if(x_01!=0 && y_01!=0) {
                    if(x_01-x_02>8) {
                        Log.i(LOG_TAG, "left");   //向左滑
                    }
                                
                    if(x_01-x_02<-8) {
                        Log.i(LOG_TAG, "right");  //向右滑
                    }
                }
                break;
                
            case MotionEvent.ACTION_MOVE:
                break;
                
            default:
             break;

        }
        return super.onTouchEvent(event);
    }
}


值得注意的是裡面有一個數字"8",這裡是參考別人的建議,因為如果設成0的話只要有一點點的位移就會造成滑動判斷,比較不好的狀況是手指較大的人可能碰一下螢幕就判定滑動了。

沒有留言:

張貼留言