80,348
社区成员
发帖
与我相关
我的任务
分享
public class CustomViewPager extends ViewPager {
private int childId;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (childId > 0) {
View scroll = findViewById(childId);
if (scroll != null) {
Rect rect = new Rect();
scroll.getHitRect(rect);
if (rect.contains((int) event.getX(), (int) event.getY())) {
return false;
}
}
}
return super.onInterceptTouchEvent(event);
}
public void setChildId(int id) {
this.childId = id;
}
}
使用的时候如下
viewPager.setChildId(R.id.horizontalScrollViewId);
adapter = new ViewPagerAdapter(this);
viewPager.setAdapter(adapter);
就是给Viewpager设置这个horizontalScrollViewId,当在horizontalScrollView中滑动时就不会滑动viewpager。对于你这个HorizontalListView用法应该是一样的。当然现在建议用RecyclerView来做横向滑动,RecyclerView很强大。