android - 用更短的拖动使 ViewPager 对齐

标签 android android-viewpager gesture

有没有什么方法可以让支持包 ViewPager 以更短的拖拽速度捕捉到下一页?默认行为似乎是,即使我拖动了将近 75%,当我放手时,页面仍然会快速回到上一页。我想缩短捕捉阈值并让 ViewPager 捕捉到下一页。

请注意,这适用于拖动手势。 throw 手势已经需要更短的手势了。

最佳答案

只要你想增加目标区域,你就可以临时做这个,不用太担心 ViewPager 的内部:

private class MyPageChangeListener implements OnPageChangeListener {
    private float mLastPositionOffset = 0f;
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        if(positionOffset < mLastPositionOffset && positionOffset < 0.9) {
            mViewPager.setCurrentItem(position);
        } else if(positionOffset > mLastPositionOffset && positionOffset > 0.1) {
            mViewPager.setCurrentItem(position+1);
        }
        mLastPositionOffset = positionOffset;
    }
}

关于android - 用更短的拖动使 ViewPager 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318625/

相关文章:

android - 在 ActionBar 中自定义 MenuItem 的背景

android - 如何以分贝为单位计算麦克风音频输入功率

android - 使用 SharedPreferences 显示字符串不起作用

android - 如何在 Android 4.1.2 上将文件保存在外部存储公共(public)目录文档中

android - fragment 标题中的 ViewPager 图像

java - 当用户到达 ViewPager 的末尾时,如何动态地将 fragment 添加到 ViewPager 的开头?

android - 查看 fragment 中间的寻呼机选项卡

Android 代码适用于 2.3 但不适用于 4.0

Android ViewFlipper + 手势检测器

Android 避免在不使用 onSingleTapConfirmed 的情况下为双击调用单击两次