title: Android how to add swipe Gesture on LinearLayout without onDown true
body: <p>I'm working on Gesture activity in android I used class to detect the swipe action is </p>
  
  <pre><code>public class ActivitySwipeDetector  implements View.OnTouchListener {
  
      static final String logTag = "ActivitySwipeDetector";
      private Activity activity;
      static final int MIN_DISTANCE = 100;
      private float downX, downY, upX, upY;
  
      public ActivitySwipeDetector(Activity activity){
          this.activity = activity;
      }
  
      public void onRightToLeftSwipe(){
          Log.i(logTag, "RightToLeftSwipe!");
          Toast.makeText(activity, "RightToLeftSwipe", Toast.LENGTH_SHORT).show();
          //activity.doSomething();
      }
  
      public void onLeftToRightSwipe(){
          Log.i(logTag, "LeftToRightSwipe!");
          Toast.makeText(activity, "LeftToRightSwipe", Toast.LENGTH_SHORT).show();
          //activity.doSomething();
      }
  
      public void onTopToBottomSwipe(){
          Log.i(logTag, "onTopToBottomSwipe!");
          //Toast.makeText(activity, "onTopToBottomSwipe", Toast.LENGTH_SHORT).show();
          //activity.doSomething();
      }
  
      public void onBottomToTopSwipe(){
          Log.i(logTag, "onBottomToTopSwipe!");
          //Toast.makeText(activity, "onBottomToTopSwipe", Toast.LENGTH_SHORT).show();
          //activity.doSomething();
      }
  
      public boolean onTouch(View v, MotionEvent event) {
          switch(event.getAction()){
          case MotionEvent.ACTION_DOWN: {
              downX = event.getX();
              downY = event.getY();
              return true;
          }
          case MotionEvent.ACTION_UP: {
              upX = event.getX();
              upY = event.getY();
  
              float deltaX = downX - upX;
              float deltaY = downY - upY;
  
              // swipe horizontal?
                      if(Math.abs(deltaX) &gt; MIN_DISTANCE){
                          // left or right
                          if(deltaX &lt; 0) { this.onLeftToRightSwipe(); return true; }
                          if(deltaX &gt; 0) { this.onRightToLeftSwipe(); return true; }
                      }
                      else {
                          Log.i(logTag, "Swipe was only " + Math.abs(deltaX) + " long, need at least " + MIN_DISTANCE);
                          return false; // We don't consume the event
                      }
  
                      // swipe vertical?
                      if(Math.abs(deltaY) &gt; MIN_DISTANCE){
                          // top or down
                          if(deltaY &lt; 0) { this.onTopToBottomSwipe(); return true; }
                          if(deltaY &gt; 0) { this.onBottomToTopSwipe(); return true; }
                      }
                      else {
                          Log.i(logTag, "Swipe was only " + Math.abs(deltaX) + " long, need at least " + MIN_DISTANCE);
                          return false; // We don't consume the event
                      }
  
                      return true;
          }
          }
          return false;
      }
  
  }
  </code></pre>
  
  <p>my xml file is </p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/action_settings"
      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=".MainActivity" &gt;
  
      &lt;TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="@string/hello_world" /&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>And in My activity I calling like this </p>
  
  <pre><code>ActivitySwipeDetector activitySwipeDetector = new ActivitySwipeDetector(this);
          LinearLayout lowestLayout = (LinearLayout)this.findViewById(R.id.action_settings);
          lowestLayout.setOnTouchListener(activitySwipeDetector);
  </code></pre>
  
  <p>I called <code>ActivitySwipeDetector(this);</code> so Its working fine with full activity. But how can I apply Swipe detector only to LinearLayout not to the Whole Activity. Please help me out. </p>