public class ChatSlidingMenu extends HorizontalScrollView {
......
//解决HorizontalScrollView中嵌套ViewPager时,ViewPager无法滑动的问题
@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) {
if (touchScrollLayout(arg0)) {
this.requestDisallowInterceptTouchEvent(true);
} else {
this.requestDisallowInterceptTouchEvent(false);
}
return super.onInterceptTouchEvent(arg0);
}
// 判断点是否是HorizontalScrollView上的点的方法如下:
private boolean touchScrollLayout(MotionEvent event) {
Rect rect = new Rect();
ChatSlidingMenu.this.getGlobalVisibleRect(rect);
if (rect.contains((int) event.getX(), (int) event.getY())) {
return true;
} else {
return false;
}
}
. .....
本文介绍了一个自定义的ChatSlidingMenu类,该类继承自HorizontalScrollView,用于解决HorizontalScrollView中嵌套使用ViewPager时出现的滑动冲突问题。通过重写onInterceptTouchEvent方法,并结合touchScrollLayout方法判断触点位置,实现了让ViewPager能够正常滑动的功能。
3075

被折叠的 条评论
为什么被折叠?



