2016-07-21 2 views
0

У меня есть пейджеры с двумя представлениями в макете. Один сверху и другой внизу.Прокрутите два пейджера в то же время

Когда я просматриваю один просмотр пейджера, необходимо также прокрутить другой пейджер. Но моя проблема, когда прокручивается плейер верхнего вида, прокручивается только плейер верхнего вида, плейер нижнего представления не прокручивается.

Мой код:

 topViewPager.setAdapter(topViewPagerAdapter); 
     bottomViewPager.setAdapter(bottomPagerAdapet); 
     tabLayout.setViewPager(topViewPager); 
     tabLayout.setViewPager(bottomViewPager); 

ответ

0

Вы можете использовать слушателя:

mViewPager1.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
    @Override 
    public void onPageSelected(int position) { 
     Log.d(LOG_TAG, "Page scrolled to " + position); 

     mViewPager2.setCurrentItem(position) 
    } 

    @Override 
    public void onPageScrollStateChanged(int state) {} 

    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} 
}); 

Я полагаю, что TabLayout должен регулировать сам по себе.

+0

Но он не движется плавно, он внезапно движется, я хочу, чтобы оба пейджера одновременно перемещались. – MrRobot9

+0

Я думаю, вы можете расширить 'ViewPager' и переопределить' onPageScrolled', и вызвать это из 'onPageScrolled' из 'OnPageChangeListener'. Определенно, что-то связано с этими параметрами – Sunshinator

+0

да, спасибо, есть параметр smoothScroll – MrRobot9

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