解决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并调用外部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;
}
相关文章推荐
- Android App开发中ViewPager组件的入门使用教程
- 使用ViewPager实现高仿launcher左右拖动效果
- Android App中用Handler实现ViewPager页面的自动切换
- Android应用中使用ViewPager实现类似QQ的界面切换效果
- Android中ViewPager组件的基本用法及实现图片切换的示例
- 灵活使用Android中ActionBar和ViewPager切换页面
- Android实现千变万化的ViewPager切换动画
- Android中viewPager使用指南
- Android 使用 ViewPager循环广告位的实现
- Android中ViewPager实现滑动指示条及与Fragment的配合
- 详解Android App中ViewPager使用PagerAdapter的方法
- Android viewpager中动态添加view并实现伪无限循环的方法
- Android应用中使用ViewPager和ViewPager指示器来制作Tab标签
- Android ViewPager制作新手导航页(动态加载)
- 详解Android App中创建ViewPager组件的方法
- Android App中ViewPager与Fragment结合的一些问题解决
- 实现轮转广告带底部指示的自定义ViewPager控件
- 自定义RadioButton和ViewPager实现TabHost带滑动的页卡效果
- 实例讲解Android中ViewPager组件的一些进阶使用技巧
- Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果