ViewPager 中子pager是WebView,WebView中有左右翻图片时,手势冲突

来源:互联网 发布:win10网络图标灰色的 编辑:程序博客网 时间:2024/04/30 01:52

首先应该重写viewPager:

public class MyViewPager extends ViewPager {

private boolean isCanScroll;

public MyViewPager(Context context) {
super(context);
isCanScroll = true;
}

public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
isCanScroll = true;
}

public void setCanScroll(boolean isCanScroll){
this.isCanScroll = isCanScroll;
}


@Override
public void scrollTo(int x, int y){
if (isCanScroll){
super.scrollTo(x, y);
}
}
//这两种方法都行
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (!isCanScroll) {
this.requestDisallowInterceptTouchEvent(true);
}
return super.onInterceptTouchEvent(event);
}


@Override
protected boolean canScroll(View arg0, boolean arg1, int arg2, int arg3, int arg4) {
return isCanScroll;
}
}
再在子pager中设置isCanScroll,因为我给ViewPager添加的是Fragment,所以用

myViewPager =  (MyViewPager)getActivity().findViewById(R.id.viewpager);
myViewPager.setCanScroll(false);

上面的思路是参考:

http://stackoverflow.com/questions/7098868/viewpager-inside-viewpager

0 0
原创粉丝点击