我试图通过使用viewpager找出解决此问题的方法但我完全无法这样做。
以下是我被指派解决的任务:
有没有办法在Android平台上解决这个问题?有没有办法简单地定义一个大于手机尺寸的布局,并以某种方式能够在视图的可见部分和不可见部分之间进行分页?
答案 0 :(得分:1)
你应该在onInterceptTouchEvent上工作。当你点击horizontalScrollview时你应该在onInterceptTouchEvent中返回false,否则返回true;
这是我怎么做的
1)使CustomViewpager扩展ViewPager 2)像这样重写onInterceptTouchEvent
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
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 true;
}
private int childId;
public void setChildId(int id) {
this.childId = id;
}
3)使用customViewpager代替xml中的viewpager,如下所示
<com.packagename.CustomViewpager .....
4)并从像这样的活动中设置childId
CustomViewpager cv=(CustomViewpager)findViewById(R.id.id_of_customviewpager);
cv.setChildId(R.id.id_of_customviewpager);
5)来完成
逻辑是当你触摸HorizontalScrollview给孩子触摸其他明智的触摸父母