我有 2 个 fragment ,我需要通过选择和拖动一些小 View 来上下滚动这个 fragment (不选择 fragment 中的任何位置,只有当我拖动这个 View 时)。类似地,我在第一个 fragment 上有一个 OverScroll,它用动画滚动照片。我尝试为此使用 VerticalViewPager,但它不适合此任务,因为它与滚动冲突。
最佳答案
使用 VerticalViewPager
,但覆盖 onInterceptTouchEvent
并定义将触发 fragment 翻转的“热点”。作为入门示例,我在自定义 ViewPager
中重写了 onInterceptTouchEvent
,这样边缘滑动仍然会“翻转” fragment (在我的例子中是水平方向),但是内部滑动仍会传递到 fragment 内的 ViewFlipper
View
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
int screenW = getWidth();
int screenH = getHeight();
int screenWReducer = Math.round(screenW*0.5f);
Rect rect = new Rect(
0 + screenWReducer,
0,
screenW - screenWReducer,
screenH
);
if (rect.contains((int) event.getX(), (int) event.getY())) {
return false;//Don't intercept. Left ViewFlippers get touch.
}
return super.onInterceptTouchEvent(event); //Edges still allow page swiping.
}
关于android - 使用其他 View 滑动android fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27427602/