1.解决ViewPager和ScrollView冲突的问题。判断水平滑动的距离是否大于垂直滑动的距离。如果大于,则,scroll中重写onIntercept,返回false。这样scrollView就不会消化这个scrollView本身的滑动事件。
/**
* @return 表示不进行事件的处理
*
*/
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
int hor = 0,ver = 0;
if (hor > ver){
return false;
}
return super.onInterceptTouchEvent(ev);
}
2.解决GridView和scrollView冲突的问题。需要自定义GridView,在生成GridView的时候,将GridView的高度定死。通过在onMeasure方法中。返回测量出来的高度。
/**
* 返回GridView适应屏幕的大小
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
int height = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, height);
}