触摸viewpager项目时如何停止viewpager页面滚动?

时间:2018-03-26 20:10:35

标签: android android-viewpager

我正在使用带有计时器的圆形指示器视图寻呼机来自动滚动页面。

我想要的是当一个viewpager项目处于触摸模式时,计时器应该暂停,并且在触摸期间不应该更改页面。怎么做??

mPager = findViewById(R.id.pager);

        // Auto start of viewpager
        final Handler handler = new Handler();
        final Runnable Update = new Runnable() {
            public void run() {
                if (currentPage == slidingImageList.size()) {
                    currentPage = 0;
                }
                mPager.setCurrentItem(currentPage++, true);
            }
        };
        Timer swipeTimer = new Timer();
        swipeTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.post(Update);
            }
        }, 4000, 4000);

1 个答案:

答案 0 :(得分:0)

您可以使用OnPageChangeListener。

onPageScrollStateChanged将告诉您何时可用于取消/重新启动任何动画逻辑的状态,例如在DRAGGING时取消,在IDLE时启动。

https://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageScrollStateChanged(int)