您的位置:首页 > 其它

解决ViewPager嵌套ViewPager滑动冲突问题

2016-05-30 13:11 453 查看
解决ViewPager嵌套ViewPager滑动冲突问题  

重写内部ViewPager并调用外部ViewPager的requestDisallowInterceptTouchEvent(true)

public class ParentViewPager extends ViewPager{

   private int childVPHeight=0;

   public ParentViewPager(Context context) {

   super(context);

   // TODO Auto-generated constructor stub

   init(context);

   }

  

   public ParentViewPager(Context context, AttributeSet attrs) {

   super(context, attrs);

   // TODO Auto-generated constructor stub

   init(context);

   }

  

   private void init(Context context) {

   // TODO Auto-generated method stub

   // 获取屏幕宽高

   WindowManager windowManager = (WindowManager)

context.getSystemService(context.WINDOW_SERVICE);

   int disWidth = windowManager.getDefaultDisplay().getWidth();

   //根据屏幕的密度来过去dp值相应的px值

   childVPHeight=(int) (context.getResources().getDisplayMetrics().density

* disWidth + 0.5f);

   }

  

   @Override

   public boolean onInterceptTouchEvent(MotionEvent arg0) {

   // TODO Auto-generated method stub

   //触摸在子ViewPager所在的页面和子ViewPager控件高度之内时

  //返回false,此时将会将触摸的动作传给子ViewPager

   if(getCurrentItem()==1 && arg0.getY()

   return false;

   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  viewpager 滑动冲突