According to me the fling is not working because of the scroll view.... Add this code into your MainMenuSlider class.
GestureDetector gestureDetector
= new GestureDetector(myGestureListener);
@Override
public boolean dispatchTouchEvent(MotionEvent e)
{
super.dispatchTouchEvent(e);
return gestureDetector.onTouchEvent(e);
}
I have edited your code of class as
public class MainMenuSlider extends Activity implements OnClickListener{
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
private ViewFlipper vf;
private Animation animFlipInNext,animFlipOutNext, animFlipInPrevious, a nimFlipOutPrevious;
private ImageView imageone;
private ImageView imagetwo;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu_slider);
//myGestureListener = new MyGestureListener(this);
//vf for viewflipper
vf=(ViewFlipper)findViewById(R.id.ViewFlipper01);
animFlipInNext = AnimationUtils.loadAnimation(this, R.anim.flipinnext);
animFlipOutNext = AnimationUtils.loadAnimation(this, R.anim.flipoutnext);
animFlipInPrevious = AnimationUtils.loadAnimation(this, R.anim.flipinprevious);
animFlipOutPrevious = AnimationUtils.loadAnimation(this, R.anim.flipoutprevious);
imageone = (ImageView) findViewById(R.id.imageone);
imagetwo = (ImageView) findViewById(R.id.imagetwo);
imageone.setOnClickListener(myGestureListener);
imagetwo.setOnClickListener(myGestureListener);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return gestureDetector.onTouchEvent(event);
}
SimpleOnGestureListener simpleOnGestureListener
= new SimpleOnGestureListener(){
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
float sensitvity = 50;
if((e1.getX() - e2.getX()) > sensitvity){
vf.showPrevious();
}else if((e2.getX() - e1.getX()) > sensitvity){
vf.showNext();
}
return true;
}
};
GestureDetector gestureDetector
= new GestureDetector(simpleOnGestureListener);
@Override
public boolean dispatchTouchEvent(MotionEvent e)
{
super.dispatchTouchEvent(e);
return gestureDetector.onTouchEvent(e);
}
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Hello",Toast.LENGTH_SHORT
).show();
}
This code is working properly..