问题:以前有个项目要求实现里面和外面都需要滑动,就像有些网站一样,最大的滑动视图内还有小的滚动,在android里面就是两个可滑动的空间嵌套,比如说scrollView之间的嵌套,scrollView与ListView的嵌套,让他们都实现里面可滚动,外面也可以滚动。
// 处理内外滑动
包含里面可滑动容器的View.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
里面可滑动容器View.getParent().requestDisallowInterceptTouchEvent(false);
return false;
} });
里面可滑动容器View.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
里面可滑动容器View.getParent().requestDisallowInterceptTouchEvent(true);
return false;
} });
总结:主要就是焦点问题,设置触摸事件是为了将焦点传递给里面的可滑动控件,使其可以滑动。