Попробуйте это в своем коде. Вы должны реализовать OnGestureListener и OnClickListener:
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
gestureDetector = new GestureDetector(this);
gestureListener = new View.OnTouchListener() //
{
@Override
public boolean onTouch(View v, MotionEvent event) //
{
if (gestureDetector.onTouchEvent(event)) //
{
return true;
}
return false;
}
};
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) //
{
int changeInX = (int) (e2.getX() - e1.getX());
// If the swipe was big enough, do something
if (Math.abs(changeInX) > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_MIN_VELOCITY) //
{
if (velocityX > 0) //
activity.animateSwipe(true);
else
activity.animateSwipe(false);
return true;
}
else
return false;
}
public void animateSwipe(boolean right) {
TranslateAnimation anim = null;
LinearLayout layout = (LinearLayout) this
.findViewById(R.id.layoutVolume);
if (right) {
anim = new TranslateAnimation(0.0f, layout.getWidth(), 0.0f, 0.0f);
} else {
anim = new TranslateAnimation(0.0f, -layout.getWidth(), 0.0f, 0.0f);
}
anim.setDuration(250);
anim.setInterpolator(new AccelerateInterpolator(1.0f));
layout.startAnimation(anim);
}