1. ScrollView内部嵌入Gallery,现象:
这个时候 ScrollView的上下滑动和Gallery的左右滑动都是正常的。但是Gallery内的Image显示是发生偏移的,上面会截掉一段图片顶部~ 下面会多显示一段黑色区域,这个在XMl里面做过多次调整设置,确认设置正确,但是显示的偏移无法做出正常调整。
2.Gallery内部嵌入ScrollView,现象:
这个时候Gallery是可以左右滑动的,但是ScrollView上下滑动却不行。
需要解决两个控件的冲突问题,重载Gallery函数,OverrideonInterceptTouchEvent函数,代码如下,
public class WallpaperGallery extends Gallery {
float startX;
private static final int OFFSETX = 50;
public WallpaperGallery(Context context, AttributeSet attrSet) {
super(context, attrSet);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
startX = ev.getX();
} else {
float abs = Math.abs(startX - ev.getX());
if (abs > OFFSETX) {
return true;
}
}
return super.onInterceptTouchEvent(ev);
}
}
嗯,ScrollView问题解决了,但是如果你需要每次滑动翻动一页的效果的话,发现和本次修改的代码冲突了,这个时候你需要这个方案来解决