解决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嵌套ViewPager滑动冲突问题
最新推荐文章于 2023-02-02 11:55:02 发布