title: ViewFlipper animation
body: <p>I have a <code>ViewFlipper</code> which contains two layouts. These two layouts helds just one <code>ImageView</code> each. There is an animation when I scroll between these two layouts, but the animation isn't triggerd before I lift my finger, this happens because of this:</p>
  
  <pre><code>   case MotionEvent.ACTION_UP:
     //do animation
  </code></pre>
  
  <p>How can I modify my code so the animation is triggerd when I held my finger and slide left to right and vice verca? </p>
  
  <p>Codesnippet for doing the animation:</p>
  
  <pre><code> @Override
      public boolean onTouchEvent(MotionEvent touchevent) {
          switch (touchevent.getAction())
          {
              case MotionEvent.ACTION_DOWN:
              {
                  oldTouchValue = touchevent.getX();
                  break;
              }
              case MotionEvent.ACTION_UP:
              {
                  //if(this.searchOk==false) return false;
                  float currentX = touchevent.getX();
                  if (oldTouchValue &lt; currentX)
                  {
                     vf.setInAnimation(inFromLeftAnimation());
                     vf.setOutAnimation(outToRightAnimation());
                      vf.showNext();
                  }
                  if (oldTouchValue &gt; currentX)
                  {
                      vf.setInAnimation(inFromRightAnimation());
                      vf.setOutAnimation(outToLeftAnimation());
                      vf.showPrevious();
                  }
              break;
              }
          }
          return false;
      }
  
      //for the previous movement
      public static Animation inFromRightAnimation() {
  
          Animation inFromRight = new TranslateAnimation(
          Animation.RELATIVE_TO_PARENT,  +1.0f, Animation.RELATIVE_TO_PARENT,  0.0f,
          Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
          );
          inFromRight.setDuration(250);
          inFromRight.setInterpolator(new AccelerateInterpolator());
          return inFromRight;
          }
      public static Animation outToLeftAnimation() {
          Animation outtoLeft = new TranslateAnimation(
           Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,  -1.0f,
           Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
          );
          outtoLeft.setDuration(250);
          outtoLeft.setInterpolator(new AccelerateInterpolator());
          return outtoLeft;
          }    
      // for the next movement
      public static Animation inFromLeftAnimation() {
          Animation inFromLeft = new TranslateAnimation(
          Animation.RELATIVE_TO_PARENT,  -1.0f, Animation.RELATIVE_TO_PARENT,  0.0f,
          Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
          );
          inFromLeft.setDuration(250);
          inFromLeft.setInterpolator(new AccelerateInterpolator());
          return inFromLeft;
          }
      public static Animation outToRightAnimation() {
          Animation outtoRight = new TranslateAnimation(
           Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,  +1.0f,
           Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
          );
          outtoRight.setDuration(250);
          outtoRight.setInterpolator(new AccelerateInterpolator());
          return outtoRight;
          }  
  </code></pre>