2015-07-02 7 views
0

Android ViewPager AutoScroll не работает должным образом с использованием графикаAtFixedRate.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); 

} 

, пожалуйста, помогите мне.

+0

Я подключил ваш код к пейджеру, который у меня есть. Я вижу автопрокрутку. Что не работает для вас? –

+0

Вы проверили это http://stackoverflow.com/questions/10847959/automatically-scroll-in-pageviewer – praveen

+0

#qbix, это прокрутка .. но прокручивание позиции неверно ... от 1 до 3 до 1 к 2. . like moving ... not 0,1,2.3 ... –

ответ

0

Попробуйте этот код:

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++); 
       } 
      } 
     }); 
    } 
} 
-1

Вы можете использовать этот Library-

Android Auto Scroll ViewPager

ViewPager который может автопрокрутка, езда на велосипеде, замедляющее.

ViewPager, который может быть скошен обычным в родительском ViewPager.

Git Linkenter image description here

Ниже приведены особенности -

startAutoScroll() начать автоматическую прокрутку, время задержки является getInterval().

startAutoScroll (int) начало автоматического прокрутки с задержкой.

stopAutoScroll() остановка авто прокрутки.

setInterval (long) set auto scroll time в миллисекундах, по умолчанию DEFAULT_INTERVAL.

setDirection (int) set авто прокрутка направление, по умолчанию RIGHT.

setCycle (boolean) установлен ли автоматический цикл при автоматическом прокрутке, достигающем последнего или первого элемента, значение по умолчанию - true.

setScrollDurationFactor (double) устанавливает коэффициент, с помощью которого изменяется продолжительность скользящей анимации.

setSlideBorderMode (int) устанавливает способ обработки при сдвиге в последнем или первом элементе, по умолчанию SLIDE_BORDER_MODE_NONE.

setStopScrollWhenTouch (boolean) установить, будет ли останавливаться авто прокрутка при касании, значение по умолчанию - true.

setBorderAnimation (boolean) устанавливает, будет ли анимация при автоматической прокрутке в последнем или первом элементе, по умолчанию используется значение true.

Смежные вопросы