首页 > 解决方案 > 我可以在不同的时间段内滑动 android viewpager 吗?

问题描述

我想在不同的幻灯片插槽中滑动我的 android viewpager。这意味着第一页在 5 秒后出现,第二页将在 8 秒后出现。我需要滑动 viewpager,但幻灯片需要在不同的时间范围内出现。有可能做那件事吗?任何有助于减缓此错误的帮助将不胜感激。

我做了以下代码段。但它会在一段时间内改变 viwepager。

 final Handler handler = new Handler();
    final Runnable Update = new Runnable() {
        public void run() {
            if (currentPage == signageResourceStoreModelList.size()) {
                currentPage = 0;
            }
            try {
                viewPager.setCurrentItem(currentPage, true);
            } catch (Exception e) {
                e.printStackTrace();
            }
            currentPage = currentPage + 1;
        }
    };

    timer = new Timer();

    timer.schedule(new TimerTask() { // task to be scheduled
        @Override
        public void run() {
            handler.post(Update);
        }
    }, DELAY_MS, PERIOD_MS);
}

标签: androidandroid-fragmentsandroid-viewpager

解决方案


是的,你绝对可以通过一些编程逻辑来做到这一点。

为例如声明一个类变量。int time=2000;

以编程方式更改 viewpager 内的视图

public void MoveNext(View view) {
    pager.setCurrentItem(pager.getCurrentItem() + 1);
    //Write logic of incrementing time here
    //e.g.time=time+1000;

}

现在定义一个处理程序

  new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {
        MoveNext();
      }
    },time);

推荐阅读