关闭

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

标签: viewpager滑动冲突
213人阅读 评论(0) 收藏 举报
分类:

解决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;
   }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7609次
    • 积分:225
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论