Sunday 6 October 2013

Android Air Gesture Example

Hi ...
Today I learned something about Air gestures and was thinking of sharing it.

Air Gestures is included in android since API level 14 which is Android 4.0... In market we have devices like Samsung S4 and many more about to launch .....

So lets try to understand the Air Gestures and try to implement it.

We need to overwrite the "setOnHoverListener" method of view where we need hover gestures .

Here is an example where I have tried to implement  onHover change on a listview

listView.setOnHoverListener( new OnHoverListener() {



@Override
public boolean onHover(View v, MotionEvent event) {
try {

switch (event.getAction()) {

// THIS IS POINT WHERE HAND WAS DETECTED
                case MotionEvent.ACTION_HOVER_ENTER:                    
               
                      x_enter = event.getX();
                    y_enter = event.getY();
                 
                    break;
// THESE ARE THE POINTS WHICH U WILL GET WHEN THE MOVEMENT IS GOING ON
                case MotionEvent.ACTION_HOVER_MOVE:                    
                 
                      event.getX();
                     event.getY();
                 
                    break;
// THESE ARE THE END POINTS WHERE THE HAND MOVEMENT FINISHED
                case MotionEvent.ACTION_HOVER_EXIT:
                 
                    x_exit = event.getX();
                    y_exit = event.getY();
                   
//ALGORITHM TO CALCULATE LEFT OR RIGHT MOVEMENT
                    decideMovement(x_enter, y_enter, x_exit, y_exit);
                    break;
            }

} catch (Exception e) {
// TODO: handle exception
}

return true;
}
});

public void decideMovement(float x_enter,float y_enter,float x_exit,float y_exit ){

// NOW WE CAN DO THE GESTURE DETECTION CALCULATIONS TO FIND OUT ANY MOVEMENTS WE WANT EG TOP,BOTTOM,RIGHT,LEFT

    float diffY = y_exit - y_enter;
    float diffX = x_exit - x_enter;
     
       if (diffX > 0) {
           slideLeft();
       } else {
           slideRight();
       }
     
   
}

Thanks for reading and hope it helped U..
Happy Coding...

No comments:

Post a Comment