OnTouchListener: passando pela tela

Por favor, dê uma olhada no seguinte código. Estou apenas postando as seções importantes do código.

activity_game.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fullView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Game" >

    <TextView
        android:id="@+id/numberOfQuestionsLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="20dp"
        android:text="TextView" />
</RelativeLayout>

Game.java

public class Game extends Activity {



    private View fullView;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game);

        fullView = (View)findViewById(R.id.fullView);
        fullView.setOnTouchListener(imageViewSwiped);



    }


 OnTouchListener imageViewSwiped = new OnSwipeTouchListener()
    {
         public boolean onSwipeRight() 
         {
            //code removed
         }

          public boolean onSwipeLeft() 
          {
             //code removed
                return true;
          }

          public boolean onSwipeBottom()
          {
              //code removed
              return true;
          }


    };
}

OnSwipTouchListener.java

Nota - Eu não possuo esta classe do código. É escrito por outro membro do SO.

     package game.Game;
        import android.view.GestureDetector;
        import android.view.GestureDetector.SimpleOnGestureListener;
        import android.view.MotionEvent;
        import android.view.View;
        import android.view.View.OnTouchListener;

        public class OnSwipeTouchListener implements OnTouchListener {

            private final GestureDetector gestureDetector = new GestureDetector(new GestureListener());

            public boolean onTouch(final View v, final MotionEvent event) {
                gestureDetector.onTouchEvent(event);
return true;
            }

            private final class GestureListener extends SimpleOnGestureListener {

                private static final int SWIPE_THRESHOLD = 100;
                private static final int SWIPE_VELOCITY_THRESHOLD = 100;

                @Override
                public boolean onDown(MotionEvent e) {
                    return super.onDown(e);
                }

                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                    boolean result = false;
                    try {
                        float diffY = e2.getY() - e1.getY();
                        float diffX = e2.getX() - e1.getX();
                        if (Math.abs(diffX) > Math.abs(diffY)) {
                            if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
                                if (diffX > 0) {
                                    result = onSwipeRight();
                                } else {
                                    result = onSwipeLeft();
                                }
                            }
                        } else {
                            if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
                                if (diffY > 0) {
                                    result = onSwipeBottom();
                                } else {
                                    result = onSwipeTop();
                                }
                            }
                        }
                    } catch (Exception exception) {
                        exception.printStackTrace();
                    }
                    return result;
                }
            }

            public boolean onSwipeRight() {
                return false;
            }

            public boolean onSwipeLeft() {
                return false;
            }

            public boolean onSwipeTop() {
                return false;
            }

            public boolean onSwipeBottom() {
                return false;
            }
        }

Este código é definido onde posso tocar na atividade e deslizar. Mas há um problema. Eu notei que preciso roubar um espaço em branco na atividade onde não há botões, imagens, caixas de texto, etc., para que isso funcione. Mas isso não é o que eu preciso. Mesmo o usuário tocar nos botões e deslizar para a esquerda, direita ou para baixo, deve funcionar. Como devo fazer dessa maneira?

questionAnswers(0)

yourAnswerToTheQuestion