我的应用程序中有一个View pager实现。我想更改其滚动行为。

当前(默认情况下),当我们滚动到当前项目的50%(几乎)时,视图分页器将滚动到下一个项目。我想改变这种行为。我希望将当前项目滚动到90%而不是50%,然后显示下一个项目。可以实现这种行为吗?

最佳答案

您可以利用:

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.

09-04 12:47