下面是主要代码,在左右划动时,会左右不正常跳动。 public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.i("sean", "**********1:" + ev.getAction());
if(isMove)
return true;
else
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
Log.i("sean", "%%%%%%%%%%%%%%%1:"+ev);
int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
goScroll = -1;
myEvent = ev;
touchX = (int) ev.getX();
touchY = (int) ev.getY();
isMove = false;
// return true;
break;
case MotionEvent.ACTION_MOVE:
myEvent2 = ev;
if(isMove)
return true;
absX = Math.abs((int) ev.getX() - touchX);
absY = Math.abs((int) ev.getY() - touchY);
if (absX > 10 || absY > 10) {
if (absX > absY) {
Log.i("sean", "%%%%%%%%%%%%%%%2:" + myEvent + "&&" + myEvent2);
if (touchX > ev.getX())
goScroll = 1;// right-lfet
else
goScroll = 2;// lfet-right
isMove = true;
}
}else{
return true;
}
break;
case MotionEvent.ACTION_UP:
Log.d("sean", "dispatchTouchEvent ACTION_UP");
break;
case MotionEvent.ACTION_CANCEL:
Log.d("sean", "dispatchTouchEvent ACTION_CANCEL");
break;
}
return super.dispatchTouchEvent(ev);
}

解决方案 »

  1.   

    1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent
    2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent从网上得到的心得,重写了Gallery控件,实现Gallery左右划动,ScrollView上下划动。目标是实现了,但是Gallery在左右划动时会左右乱跳哪位大哥知道指点下,很急啊,谢谢了!!!
      

  2.   

    这里有解决Gallery 与ScrollView冲突的源码
    http://download.csdn.net/detail/xq135816/5014553
      

  3.   

    提供个 Gallery相关效果处理的【完美解决方案】~ 1.http://blog.csdn.net/do2jiang/article/details/95706212.http://www.mythroad.net/2013/08/01/%e3%80%90%e5%ae%8c%e7%be%8e%e8%a7%a3%e5%86%b3%e5%86%b2%e7%aa%81%e3%80%91gallery%e4%b8%8escrollview%e6%af%8f%e6%ac%a1%e6%bb%91%e5%8a%a8%e7%bf%bb%e4%b8%80%e9%a1%b5/