这个方法可以直接定位到指定的page,并且还有动画。效果如下:
public void setCurrentItem(int item) {
mPopulatePending = false;
setCurrentItemInternal(item, !mFirstLayout, false);
}
mFirstLayout在onLayout的时候被设为false,所以!mFirstLayout为true,表示smoothScroll,效果就是平滑滚动。如果想要设置为不平滑滚动,可以使用两个参数的方法。第二个参数直接设为false就行了。
public void setCurrentItem(int item, boolean smoothScroll) {
mPopulatePending = false;
setCurrentItemInternal(item, smoothScroll, false);
}
效果就是直接切换,没有任何动画。
实例代码:ViewPager就是直接放TextView。就不列出了,关键代码就是Button的切换。
boolean isClicked=false;
//Button的onClick方法
public void scrollToPage(View view) {
if (!isClicked) {
viewPager.setCurrentItem(2,false);
isClicked=true;
}else {
viewPager.setCurrentItem(0,false);
isClicked=false;
}
}