recherche

Maison  >  Questions et réponses  >  le corps du texte

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


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

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

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

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

高洛峰高洛峰2888 Il y a quelques jours646

répondre à tous(4)je répondrai

  • ringa_lee

    ringa_lee2017-04-17 17:38:22

    N'est-ce pas l'implémentation de ViewPager Fragment ? Il veut juste réaliser la fonction de glissement infini. La valeur doit être transmise dans différents Fragment. Bien sûr, ce serait mieux si elle pouvait être optimisée en un seul Fragment.

    répondre
    0
  • 阿神

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

    La bonne réponse à l'étage est en fait un viewPager. Écrivez simplement un fragmentStatePagerAdapter et placez-y votre liste. Cela peut contrôler le nombre de fragments enregistrés et créer de nouveaux fragments.

    répondre
    0
  • 迷茫

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

    Je l'ai déjà fait et la méthode de mise en œuvre est ViewPager Fragment Le contenu réel et certains détails dépendent de la logique de l'application.

    répondre
    0
  • 黄舟

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

    Mon approche est la suivante :

    Supposons qu'il y ait trois fragments, à savoir f1, f2 et f3. Ensuite, lorsque j'initialise le PagerAdapter de ViewPager, un total de 5 fragments seront renvoyés. L'ordre est : f3,f1,f2,f3,f1. Le currentItem par défaut est 1, soit f1.
    Personnalisez ensuite ViewPager.OnPageChangeListener. Dans la méthode onPageScrollStateChanged, lorsque l'état est IDLE (arrêté), si le currentItem actuel est 0, utilisez setCurrentItem(4, false). Si c'est 4, utilisez setCurrentItem(1, false).

    Je crois que tous les étudiants intelligents comprendront ma logique de mise en œuvre.

    répondre
    0
  • Annulerrépondre