我有一个显示文本视图的ViewPager。在它上面有一个标题布局。我想要的是当用户点击屏幕时隐藏或显示这个标题,但不是在滚动时。我尝试了ViewPager.onPageChangeListener,但没有成功。我需要知道什么时候页面之间的切换完成。onPageScrollStateChange没有帮助,我创建了一个实例变量来保存状态并在调用此方法时不断更新它,以便在我的onclick监听器中使用它来确定页面是否正在滚动,但没有成功。
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
if(ViewPager.SCROLL_STATE_IDLE == state){
//Scrolling finished. Do something.
}
}
});
onPageScrollStateChanged(int state)
与SCROLL_STATE_SETTLING
结合起来可以完成任务。听起来更像是你在实际实现时遇到了麻烦。如果是这种情况,你应该向我们展示一些你编写的代码。 - MH.