1,让 activity实现
OnTouchListener接口;
2.
private GestureDetector
gestureDetector;
在activity中实现以下监听:
gestureDetector =
new GestureDetector(你的activity,
onGestureListener);
//
滑动
private GestureDetector.OnGestureListener onGestureListener =
new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
float x = e2.getX() - e1.getX();
float y = e2.getY() - e1.getY();
if (x > 0) {
doResult( RIGHT);
} else if (x < 0) {
doResult( LEFT);
}
return true;
}
};
public void doResult( int action) {
switch (action) {
case RIGHT:
if( position != 0){
position--;
}
private GestureDetector.OnGestureListener onGestureListener =
new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
float x = e2.getX() - e1.getX();
float y = e2.getY() - e1.getY();
if (x > 0) {
doResult( RIGHT);
} else if (x < 0) {
doResult( LEFT);
}
return true;
}
};
public void doResult( int action) {
switch (action) {
case RIGHT:
if( position != 0){
position--;
}
System.out.println("go right");
BitmapUtils bitmapUtilsr = new BitmapUtils(mContext);//xUtils框架加载网络图片
//
加载网络图片
bitmapUtilsr.display( mImgView, tbLists.get( position).getImgurl());
break;
case LEFT:
if( position < tbLists.size()- 1){
position++;
}
bitmapUtilsr.display( mImgView, tbLists.get( position).getImgurl());
break;
case LEFT:
if( position < tbLists.size()- 1){
position++;
}
System.out.println("go left");
BitmapUtils bitmapUtilsl = new BitmapUtils(mContext);
//
加载网络图片
bitmapUtilsl.display( mImgView, tbLists.get( position).getImgurl());
break;
}
bitmapUtilsl.display( mImgView, tbLists.get( position).getImgurl());
break;
}
}
//实现上述方法后,发现滑动无效,经过在网上查找,原来是滑动冲突,重写以下方法就可以了!
- @Override
- public boolean dispatchTouchEvent(MotionEvent ev) {
- // TODOAuto-generatedmethodstub
- gestureDetector.onTouchEvent(ev); // 让GestureDetector响应触碰事件
- super.dispatchTouchEvent(ev); // 让Activity响应触碰事件
- return false;
- }