android - 使用其他 View 滑动android fragment

标签 android android-fragments android-viewpager android-overscoll

我有 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/

相关文章:

android - shell 中删除 sqlite 数据库的命令是什么?

android - greendao:调试查询的方式?

java - 在 onDestroy() 上清空 Fragment 的变量

android - ObservableScrollView 中的自定义 ViewPager 无法正确测量高度

android - 在 Android 中使用 Azure Bing 搜索 API

android - 在旋转时保留 TextView 中的文本

android - 将 Google map 与抽屉导航和 viewpager 一起使用会崩溃

android - 如何刷新或更新 viewpager android 中的所有 fragment

android - ViewPager——垂直和水平同时实现

android - Genymotion 和 Virtualbox