美文网首页
解决ListView+ViewPager滑动事件冲突的问题

解决ListView+ViewPager滑动事件冲突的问题

作者: 无痕岁月 | 来源:发表于2017-07-02 15:29 被阅读0次

最近做一个ListView.addHeaderView(ViewPager) 的功能

解决横向滑动ViewPager时,稍微上下偏移ViewPager就会失去焦点的方法:重写ListView,直接上代码,希望能帮到遇到相同问题的朋友

public class MyListView extends ListView {

private GestureDetector mGestureDetector;

View.OnTouchListener mGestureListener;

public MyListView(Context context) {

super(context);

}

public MyListView(Context context, AttributeSet attrs) {

super(context, attrs);

mGestureDetector = new GestureDetector(new YScrollDetector());

setFadingEdgeLength(0);

}

public MyListView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

@Override

public boolean onInterceptTouchEvent(MotionEvent ev) {

return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev);

}

class YScrollDetector extends SimpleOnGestureListener {

@Override

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

if(distanceY!=0&&distanceX!=0){

}

if(Math.abs(distanceY) >= Math.abs(distanceX)) {

return true;

}

return false;

}

}

}

相关文章

网友评论

      本文标题:解决ListView+ViewPager滑动事件冲突的问题

      本文链接:https://www.haomeiwen.com/subject/dconcxtx.html