繁体   English   中英

ViewPager AutoScroll无法正常工作

[英]ViewPager AutoScroll not Working Properly

使用scheduleAtFixedRate,Android ViewPager AutoScroll无法正常工作。

这是我的代码,对吗?

  protected void startAutoScroll() {
    swipeTimer=new Timer();
    swipeTimer.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {

            new Handler(Looper.getMainLooper()).post(new Runnable() {

                @Override
                public void run() {
                    if(currentPosition==shalomBannersList.size())
                    {
                        currentPosition=0;
                    }

                        viewPager.setCurrentItem(currentPosition,true);

                    currentPosition=currentPosition+1;

                }
            });

        }
    }, 100, 4000);

}

请帮我。

试试这个代码:

int page=0;
public void pageSwitcher() {

    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new RemindTask(), 1000, 3000);
}

class RemindTask extends TimerTask {

    @Override
    public void run() {
        mActivity.runOnUiThread(new Runnable() {
            public void run() {
                if (page > bannersList.size()) {
                    page = 0;
                    viewPager.setCurrentItem(page++);
                } else {
                    viewPager.setCurrentItem(page++);
                }
            }
        });
    }
}

您可以使用此库-

Android自动滚动ViewPager

ViewPager可以自动滚动,循环,减速。

可以在父级ViewPager中正常滑动的ViewPager。

Git链接 在此处输入图片说明

以下是功能-

startAutoScroll()开始自动滚动,延迟时间为getInterval()。

startAutoScroll(int)启动自动滚动延迟。

stopAutoScroll()停止自动滚动。

setInterval(long)设置自动滚动时间(以毫秒为单位),默认为DEFAULT_INTERVAL。

setDirection(int)设置自动滚动方向,默认为RIGHT。

setCycle(boolean)设置在自动滚动到达最后一项或第一项时是否自动循环,默认为true。

setScrollDurationFactor(double)设置滑动动画的持续时间将更改的因子。

setSlideBorderMode(int)设置在最后一项或第一项滑动时的处理方式,默认值为SLIDE_BORDER_MODE_NONE。

setStopScrollWhenTouch(boolean)设置是否在触摸时停止自动滚动,默认为true。

setBorderAnimation(boolean)设置在最后一项或第一项自动滚动时是动画,默认为true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM