`
vocaloid
  • 浏览: 32733 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ViewPager中嵌套ViewFlipper手势冲突的解决办法

阅读更多

 

转自:http://blog.csdn.net/sam_zhang1984/article/details/8079955

 

问题:

由于界面实现的需要,在ViewPager中嵌套ViewFlipper,这应该也是比较常见的界面,但实现过程中遇到了一个问题:这ViewPager和ViewFlipper手势冲突了,当在ViewFlipper中滑动要切换时,同时触发了ViewPager,使得ViewPager也跟着一起滑动。

 

解决:

在网上找了一大圈,有各种解决方法,不过大部分是曲线救国,在EOE看到一帖子,终于找到了解决的办法:

在子View中执行getParent().requestDisallowInterceptTouchEvent(true),在本例子中即在ViewFlipper执行这个方法,我个人是在dispatchTouchEvent中执行,即:

 

 

@Override  
    public boolean dispatchTouchEvent(MotionEvent ev) {  
      getParent().requestDisallowInterceptTouchEvent(true);  
          super.dispatchTouchEvent(ev);  
          commOnTouchEvent(ev);  //进行子View手势的相应操作  
          return true;  
    }

 

 

 

  参考上述博客内容,重写子viewpager,并重载其 dispatchTouchEvent()方法,返回true即解决。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics