android - 如何实现Fragment左右无限滑动功能?
高洛峰
高洛峰 2017-04-17 17:36:22
0
4
608


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

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

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(4)
左手右手慢动作

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

阿神

楼上正解,实际上就是一个viewPager,写一个fragmentStatePagerAdapter把你的list放进去就好,这个可以控制保存fragment的数量以及创建新的fragment之类的事情。

迷茫

这个我曾经做过,实现方式就是ViewPager+Fragment,而现实内容和一些细节就是要看应用逻辑了。

黄舟

我的做法是:

假设有三个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).

相信聪明的同学都看懂我的实现逻辑了。

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal