完美解决Android里面scrollview嵌套及listview嵌套viewpager的滑动冲突问题的简单方法

         这一阵子在学习移动开发,在开发过程中,自己发现了一些简单的


解决scrollview嵌套及listview嵌套viewpager的滑动冲突问题的方法,特来回馈网友了。


       解决scrollview嵌套问题的代码:

 //这个imageHorizontalScrollView是嵌套在 垂直滑动的scrollview中的
  imageHorizontalScrollView.setOnTouchListener(new OnTouchListener() {
   
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    //通知父控件不要拦截这个事件,这个imageHorizontalScrollView的父控件就是外层垂直滑动的scrollview
    imageHorizontalScrollView.getParent().requestDisallowInterceptTouchEvent(true);
    return false;
   }
  });

亲自测试,效果很好,一点也没有卡顿的效果了。

解决listview嵌套viewpager滑动冲突问题的代码,与上面的基本类似:

//这个slideview是嵌套在listview中的viewpager控件

slideViewPager.setOnTouchListener(new OnTouchListener() {
    //就这一行代码
    slideViewPager.getParent().requestDisallowInterceptTouchEvent(true);



   //下面的代码是解决viewpager里面装的比如说图片绑定了监听器后,无法滑动的问题,解决方法就是不要给图片帮监听器,自己在这里面设置监听

if(event.getAction()==MotionEvent.ACTION_DOWN){
     //记录按下时的坐标
     cx=event.getX();
     cy=event.getY();
    }else if(event.getAction()==MotionEvent.ACTION_UP){
     //记录手指离开屏幕时的坐标
     x=event.getX();
     y=event.getY();
     //如果移动距离小于30,则认为点击了当前图片
     if(Math.abs(cx-x)<30){
      //在这里启动要做的事件
      Intent intent=new Intent(getActivity(), SlideContentActivity.class);
      //使用currentPager来记录当前点击了哪张图片
      intent.putExtra("item",viewPagerInfos.get(currentPager));
      startActivity(intent);
      return true;
     }
    return false;
   }
  });


亲自测试有效,不用重写控件,貌似对于其他类似的滑动冲突事件都有效果,感觉很好使,与大家分享一下。


                                                                                            2014 10 25

                                                                                                          zhyi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值