搜尋

首頁  >  問答  >  主體

android - 如何实现Fragment左右无限滑动功能?


上面那张图是智联的,大概就要这样一个效果

昨天想了半天,简单的实现了这个效果github-有图有真相
思路是用一个List保存数量有限的Fragment,adapter的getCount返回Integer.MAX_VALUE
但是感觉往里传值的时候太麻烦了

请问各位有没有合适的方法实现这个效果

https://github.com/qmr777/Rec...
插不了图片了。。。上面是我的实现

高洛峰高洛峰2888 天前650

全部回覆(4)我來回復

  • ringa_lee

    ringa_lee2017-04-17 17:38:22

    這個不就是ViewPager + Fragment的实现么,只不过他要实现无限滑动的功能罢了。传值还是在不同的Fragment中传值,当然能优化成一个Fragment就更好了。

    回覆
    0
  • 阿神

    阿神2017-04-17 17:38:22

    樓上正解,實際上就是一個viewPager,寫一個fragmentStatePagerAdapter把你的list放進去就好,這個可以控制保存fragment的數量以及創建新的fragment之類的事情。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:38:22

    這個我曾經做過,實現方式就是ViewPager+Fragment,而現實內容和一些細節就是要看應用邏輯了。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 17:38:22

    我的做法是:

    假設有三個fragment,分別是f1,f2,f3.那我在初始化ViewPager的PagerAdapter的時候,總共回傳5個fragment。順序是:f3,f1,f2,f3,f1。預設的currentItem為1,即為f1。
    然後自訂ViewPager.OnPageChangeListener,在onPageScrollStateChanged方法中,當狀態為IDLE(停止時),若目前的currentItem為0,則使用setCurrentItem(4, false)。若為4,則使用setCurrentItem(1, false).

    相信聰明的同學都看懂我的實現邏輯了。

    回覆
    0
  • 取消回覆