通过博客《ViewFlipper简单学习笔记 》可以知道ViewFlipper的工作原理,我们可以调用showNext()或者showPrevious()两个方法来实现页面的切换,但是这个组件并没有对事件没有做处理,不像ViewPager这个组件那样重写了onInterceptTouchEvent(主要负责事件的拦截)和onTouchEvent(主要负责事件的处理)方法,可以让用户手指滑动的时候是在页面滚动翻页的效果。(关于Android的事件的处理机制可以参考博主的另外两篇博客《 android事件拦截处理机制详解》和《从源码角度分析android事件分发处理机制 》来加深理解)。在Android事件原理的基础上所以ViewFlippler响应手指事件来翻页的第一个简单版(v.1.0)本就出炉了,关键代码如下:
//该方法位于MyViewFlipper extends ViewFlipper或者ViewAnimator(ViewAnimator为ViewFlipper的父类)
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACT