您的位置:首页 > 其它

ViewPager+ListView+SwipeRefreshLayout+自定义下拉刷新

2016-07-16 21:04 211 查看
                                               ViewPager+ListView+SwipeRefreshLayout+自定义下拉刷新

官方SwipeRefreshLayout+自定义上拉加载+ListView+ViewPager+图片缩放+事件冲突 运行结果 SwipeRefreshLayout下拉刷新,解决了和ViewPager事件冲突

Demo下载地址https://github.com/GM520/ViewPagerListViewRefresh

viewpage 和listview 相互冲突 将父view 传递到viewpage 里面

使用父类的方法 parent.requestDisallowInterceptTouchEvent(true);

当 requestDisallowInterceptTouchEvent 如果为true的时候 表示:父view 不拦截子view的touch 事件


@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (parent != null) {
parent.requestDisallowInterceptTouchEvent(true);
}
return super.dispatchTouchEvent(ev);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
if (parent != null) {
parent.requestDisallowInterceptTouchEvent(true);
}
return super.onInterceptTouchEvent(arg0);
}

@Override
public boolean onTouchEvent(MotionEvent arg0) {
if (parent != null) {
parent.requestDisallowInterceptTouchEvent(true);
}
return super.onTouchEvent(arg0);
}


//屏蔽viewPager和SwipeRefreshLayout事件冲突
viewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
mSwipeLayout.setEnabled(false);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mSwipeLayout.setEnabled(true);
break;
}
return false;
}
});


运行图片

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