小妹请问ImageView切换图片拖动效果

小妹请教ImageView切换图片拖动效果我用ImageView做了一个由左向右滑动,换图片的程序.我想问一下,在切换过

小妹请教ImageView切换图片拖动效果
我用ImageView做了一个由左向右滑动,换图片的程序.

我想问一下,在切换过程中,怎么能做到很平滑的过去,

而且有拖动效果,就是在手指慢慢拖过去的过程中,第二张图片慢慢的覆盖屏幕。

第一张图片在消失!不知道我描述清楚了吗!就是拖动效果!

或者大家有什么好的思路,请指点我!

嘿嘿~~ 贴上代码!

Java code
package com.imageview.test.demo;import android.app.Activity;import android.os.Bundle;import android.view.GestureDetector;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity implements OnTouchListener{       private ImageView imageView01;       private GestureDetector gd;//用于捕捉touch的详细手势(gesture)       int count=0;       private int[] resIds = new int[]            { R.drawable.anim_a, R.drawable.anim_b, R.drawable.anim_c,R.drawable.anim_d };    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                imageView01=(ImageView)findViewById(R.id.imageView01);        imageView01.setImageResource(resIds[0]);                gd = new GestureDetector (this, new GDetector()); //创建一个GestureDetector实例,下文重写其onFling()方法        imageView01.setOnTouchListener(this); //这里如果没有 implements OnTouchListener 会报错        imageView01.setLongClickable(true);//不加这个滑动就没反应了    }    public class GDetector extends SimpleOnGestureListener //GDetector 名字是随便起的    {        //MotionEvent e1 按下时的状态,位置        //MotionEvent e2, //松手时的状态,位置        //float vx,//x坐标的移动速度,单位: px/秒        //float y坐标的移动速度        @Override        public boolean onFling(MotionEvent e1,MotionEvent e2, float vx,float vy)        {            //滑动速度足够快至少50点/秒,手指起落点减起点是正值且>200 判断属于向左滑动            if((e1.getX()-e2.getX()>200) && (Math.abs(vx)>50))             {                count++;                imageView01.setImageResource(resIds[count]);                Toast.makeText(MainActivity.this, "count:"+count, 1000).show();                  }/*else if ((e2.getX()-e1.getX()>200) && (Math.abs(vx)>50)) //同理判断是向右滑动            {                 count--;                imageView01.setImageResource(resIds[0]);                Toast.makeText(MainActivity.this, "count:"+count, 1000).show();            }*/            return false;        }    }    @Override    public boolean onTouch(View v, MotionEvent event) {        return gd.onTouchEvent(event);    }        }


XML code
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <ImageView android:id="@+id/imageView01"            android:layout_height="fill_parent" android:layout_width="fill_parent"             android:layout_centerInParent="true">        </ImageView></LinearLayout>


[解决办法]
做成一个listview不行吗 可以实现你所描述的拖动效果的 呵呵
[解决办法]
if((e1.getX()-e2.getX()>200) && (Math.abs(vx)>50)) 

你的代码第一个参数,就已经决定了不可能慢慢出来的,要滑动结束后 e1 e2确定了才会setImageRes