理论:http://blog.csdn.net/arui319/article/details/7210163
代码如下:
public class ViewFlipperActivity extends Activity implements OnGestureListener { 
   
    private static final int FLING_MIN_DISTANCE = 100; 
    private ViewFlipper flipper; 
    private GestureDetector detector; 
    private int[] resuorce = new int[]{R.drawable.jt1,R.drawable.jt2,R.drawable.jt3,R.drawable.jt4,
        R.drawable.jt5,R.drawable.jt6,R.drawable.jt7};
   
    protected void onCreate(Bundle savedInstanceState)
    { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.view_sns_activity); 
        /*
         *  注册一个GestureDetector 
         */
        detector = new GestureDetector(this);
       
        flipper = (ViewFlipper) findViewById(R.id.viewFlipper1); 
        for (int i = 0; i < resuorce.length; i++)
        {
            ImageView image = new ImageView(this);
            image.setBackgroundResource(resuorce[i]);
            flipper.addView(image);
        }
       
    } 
 
    public boolean onTouchEvent(MotionEvent event)
    { 
        /*
         *  将触屏事件交给手势识别类处理 
         */
        return this.detector.onTouchEvent(event); 
    } 
 
    public boolean onDown(MotionEvent e) { 
        return false; 
    } 
 
    public void onShowPress(MotionEvent e) { 
    } 
 
    public boolean onSingleTapUp(MotionEvent e) { 
        return false; 
    } 
 
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,  float distanceY) { 
        return false; 
    } 
 
    public void onLongPress(MotionEvent e) { 
    } 
 
    /*
     *
     */
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    { 
        boolean is_fling = false;
        if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE)
        { 
            /*
             * 设置View进入和退出的动画效果 
             */
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_in)); 
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_out)); 
            this.flipper.showNext(); 
            is_fling = true; 
        } 
        if (e1.getX() - e2.getX() < -FLING_MIN_DISTANCE)
        { 
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_in)); 
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_out)); 
            this.flipper.showPrevious(); 
            is_fling = true; 
        } 
        return is_fling; 
    }

xml:
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center"
android:id="@+id/viewSnsLayout">

android:layout_width="wrap_content" android:id="@+id/viewFlipper1">


更多相关文章

  1. 【笔记】android捕获触摸事件
  2. android VoiceRecognition 语音识别并打印到列表上
  3. android语音识别之科大讯飞语音API的使用
  4. Android(安卓)view手势缩放与移动
  5. android语音识别之科大讯飞语音API的使用
  6. Android(安卓)语音识别
  7. Android手势ImageView三部曲 第三部
  8. Android声纹识别程序
  9. Android(安卓)GestureDetector方法详解

随机推荐

  1. 互联网徐金良:Android为什么能够超越iOS?
  2. 在Android Studio中使用cmake编译FFmpeg
  3. android uiautomator 截取图片
  4. android调用隐藏的网络信息设置菜单实现
  5. Android开发----自动化测试
  6. [Android 动画]简要分析一下Animator 与
  7. Android应用的自动升级、更新模块的实现
  8. Android 以webview的方式集成Dcloud h5+S
  9. Android开机启动shell脚本(Android 8.0测
  10. Google 发布 Android 版 Chrome 浏览器,只