Android ViewPager:仅当上一个项目滚动到 90% 时才滚动到下一个项目

Android ViewPager: Scroll to next item only when the previous item is scrolled to 90%

我的应用程序中有一个视图寻呼机实现。我想改变它的滚动行为。

目前(默认情况下)当我们滚动到当前项目的 50%(几乎)时,视图分页器会滚动到下一个项目。我想改变这种行为。我想要那个而不是 50%,当当前项目滚动到 90% 时,下一个项目应该出现。是否可以实现这种行为?

您可以使用:

pager.addOnPageChangeListener

解决方案可能是使用 SimpleOnPageChangeListener 方法并覆盖它的 onPageScrolled 方法:

     mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){

        @Override
        public void onPageScrolled(int position, float positionOffset,
                int positionOffsetPixels) {
            super.onPageScrolled(position, positionOffset, positionOffsetPixels);
            if (positionOffset> 0.9f){
                scrolPage()
            }
        }
    }) ;

请查看 positionOffset 文档:

* @param positionOffset Value from [0, 1) indicating the offset from the page at position.