you can override this method in your child view
public class CoverFlow extends Gallery { public CoverFlow(Context context) { super(context);
}
public CoverFlow(Context context, AttributeSet attrs) { super(context, attrs);
}
public boolean canScrollHor(int direction) {
final int offset = computeHorizontalScrollOffset();
final int range = computeHorizontalScrollRange() - computeHorizontalScrollExtent();
if (range == 0) return false;
if (direction < 0) {
return offset > 0;
} else {
return offset < range - 1;
}
}
}
you can detect onTouch event in view Pager.if touch comes from your child view then call the child view event function and perform action otherwise simply you returns viewpager canScroll event.
public class MyViewPager extends ViewPager {
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if (v instanceof CoverFlow) {
//return your child view event
return true;
} else {
//return your view Pager event
return super.canScroll(v, checkV, dx, x, y);
}
}
}
No comments:
Post a Comment