实现图片的自动循环播放功能:
自动播放:
flipper.setInAnimation(this,R.anim.left_in); 设置动画效果 flipper.setOutAnimation(this, R.anim.left_out); flipper.setFlipInterval(2000); 设置 间隔时间 flipper.startFlipping(); 自动播放 循环
手动播放:
flipper.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { startX=event.getX(); break; } case MotionEvent.ACTION_UP: { if(startX-event.getX()>100) { flipper.setInAnimation(MainActivity.this,R.anim.right_in); flipper.setOutAnimation(MainActivity.this,R.anim.right_out); flipper.showNext(); 显示下一张 } if(event.getX()-startX>100) { flipper.setInAnimation(MainActivity.this,R.anim.left_in); flipper.setOutAnimation(MainActivity.this,R.anim.left_out); flipper.showPrevious(); 显示上一张 } break; } } return true;绑定onTouchListener监听器
判断用户手势 通过 getX()获取手指按下的那个起始位置
然后通过 起始位置 - 结束位置 如果是大于 就是 从右向左滑动
反之 就是从左向又滑动