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.
我的应用程序中有一个视图寻呼机实现。我想改变它的滚动行为。
目前(默认情况下)当我们滚动到当前项目的 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.