使用较短的拖动使ViewPager捕捉

Juh*_*ani 17 android gesture android-viewpager

有没有办法让支持包ViewPager以较短的阻力捕捉到下一页?默认行为似乎是,即使我拖动了近75%的页面,当我放手时页面仍会快速回到上一页.我想缩短捕捉阈值并使ViewPager快速转到下一页.

请注意,这适用于拖动手势.一个投掷手势已经需要更短的手势.

str*_*aya 23

您可以临时执行此操作,只要您想要增加目标区域,就不必过多担心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;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 好主意,虽然我觉得有点奇怪 (4认同)