Viewpager 滑动完成事件

9
我有一个显示文本视图的ViewPager。在它上面有一个标题布局。我想要的是当用户点击屏幕时隐藏或显示这个标题,但不是在滚动时。我尝试了ViewPager.onPageChangeListener,但没有成功。我需要知道什么时候页面之间的切换完成。onPageScrollStateChange没有帮助,我创建了一个实例变量来保存状态并在调用此方法时不断更新它,以便在我的onclick监听器中使用它来确定页面是否正在滚动,但没有成功。

我倾向于认为onPageScrollStateChanged(int state)SCROLL_STATE_SETTLING结合起来可以完成任务。听起来更像是你在实际实现时遇到了麻烦。如果是这种情况,你应该向我们展示一些你编写的代码。 - MH.
1个回答

9
    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.
            }
        }
    });

嗨@弗拉基米尔·彼得罗夫斯基,我使用ViewPager实现了视频功能。但是当我快速滚动时,先前的视频声音会在新滚动的视频上播放。所以,在新视图上停止先前的音乐,我需要做什么? - Amit Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接