如何以编程方式顺利滚动页面

时间:2014-07-23 11:20:28

标签: android user-interface android-viewpager android-ui

我正在使用此代码以编程方式滚动我的寻呼机

public void MoveNext(View view) {
    pager.setCurrentItem(pager.getCurrentItem() + 1);
}

public void MovePrevious(View view) {

    pager.setCurrentItem(pager.getCurrentItem() - 1);

}

代码工作完美,但过渡太快。如何引入延迟以便滚动更顺畅?

2 个答案:

答案 0 :(得分:4)

我相信有两种方法可以实现这个目标,我已经尝试过ViewPager的fakeDrag(),但是这种方法并不完美,幸运的是,另一种方式是,通过模拟触摸动作事件并使用{{1} }指定动画持续时间,然后使控制滚动速度变为真。

ObjectAnimator

因为它是模拟触摸事件,所以请使用适当的持续时间(小于600毫秒将是不错的)进行滚动,当滚动进行时,放下手指会停止它并导致一些错误。

答案 1 :(得分:0)

更改

pager.setCurrentItem(pager.getCurrentItem() + 1);

pager.setCurrentItem(pager.getCurrentItem() + 1,true);

这将调用方法setCurrentItem(int item,boolean smoothScroll),该方法将平滑滚动到提到的item,而不是立即转换