1

我已经实现了一个 ViewPager,它为 ImageViews 提供服务,如本文和源代码所示:

http://android-developers.blogspot.com/2011/08/horizo​​ntal-view-swiping-with-viewpager.html

http://code.google.com/p/viewpagerexample/source/browse/trunk/AwesomePager/src/com/geekyouup/paug/awesomepager/AwesomePagerActivity.java

渲染很好,但是当我尝试浏览寻呼机的内容时,我遇到了一个非常奇怪的手势问题。左右滑动手势似乎没有被正确捕获,所以寻呼机只是快速回到第 0 个元素。如果我继续玩这些手势,也许 50 次中有 1 次我可以让它前进到下一页。

我在 ListView 中使用它(通过 getListView().addHeaderView(myViewPager))。除此之外,一切都一样。其他人在此实施方面取得了成功吗?

谢谢

4

1 回答 1

0

如果您使用 viewpager 作为 listview 的标题,则需要这样做,然后 viewpager 才能正常工作。

viewPager.setOnTouchListener(new OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    PointF downP = new PointF();
    PointF curP = new PointF();
    int act = event.getAction();
    if(act == MotionEvent.ACTION_DOWN || act == MotionEvent.ACTION_MOVE || act == MotionEvent.ACTION_UP){
      ((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
      if (downP.x == curP.x && downP.y == curP.y) {
        return false;
      }
    }
    return false;
  }
于 2013-08-12T08:12:36.860 回答