2014-04-04 24 views
0

我需要在兩個不同的ViewPagers中以一個幻燈片手勢向其中任何一個進行幻燈片切換。我怎麼去解決這個問題?繼ViewPager類在OnPageChangeListener代碼同時在一個手勢中移動兩個VIewPagers

+0

添加您現有的代碼,以便我們可以幫助您。 –

+1

爲什麼你要用兩個'ViewPager',如果你想讓它們像'ViewPager'一樣? – CommonsWare

+0

其實我需要屏幕,當檢測到向下滑動時,應該顯示一個視圖,並在向上滑動時顯示另一個視圖。這兩個視圖都應該水平滑動。這就是爲什麼我做了兩個觀看者。但我無法同步這兩個視圖頁面。我捕捉到任何ViewPager的觸摸事件,然後將該觸摸事件轉移到另一個觸發事件,但仍拋出異常。 – neaGaze

回答

0

添加

public void onPageSelected(int position) 
{ 
    secondViewPager.setCurrentItem(position, true); 
} 
+1

這不是我想要的。你的技術只會導致一次轉換。如果我需要在轉型過程中堅持不懈,該怎麼辦? – neaGaze

0

以下的代碼幻燈片都同時ViewPagers有大小是否相同或不

viewPagerBanner.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
    private int scrollState = ViewPager.SCROLL_STATE_IDLE; 
    // Indicates that the pager is in an idle, settled state. 
    // The current page is fully in view and no animation is in progress. 

    @Override 
    public void onPageScrolled(int position, float positionOffset, 
           int positionOffsetPixels) { 
     if (scrollState == ViewPager.SCROLL_STATE_IDLE) { 
      return; 
     } 
     viewPagerTitle.scrollTo(viewPagerBanner.getScrollX()* 
           viewPagerTitle.getWidth()/ 
           viewPagerBanner.getWidth(), 0); 
     // We are not interested in Y axis position 
    } 

    @Override 
    public void onPageSelected(int position) {} 

    @Override 
    public void onPageScrollStateChanged(int state) { 
     scrollState = state; 
     if (state == ViewPager.SCROLL_STATE_IDLE) { 
      viewPagerTitle.setCurrentItem(viewPagerBanner.getCurrentItem(), false); 
     } 
    } 
}); 

使用相同的代碼另一個ViewPager。