【发布时间】:2013-05-11 03:13:53
【问题描述】:
ViewPager 的一个用例是我从未见过的完美实现。
ViewPager 或多或少是静态结构。将 Pages 添加到右侧(附加到 Model 并显示它)并不难,但是,应该有很好用的解决方案来扩展 PagerAdapter(或它的一些子类),以便它可以双向扩展。
我可以想象这样的适配器接口
boolean isEmpty()
boolean hasNext()
boolean hasPrevious()
Object getNext()
Object getPrevious()
Object getItem(int position)
// or if using generics
T getNext()
T getPrevious()
T getItem(int position)
类似于集合迭代器,但是是双向的。
其中索引/位置不限于从下到0,而是可以使用整数类型的整个范围。
也许不是基于数组的实现(从 0 到无限)。
我发现了这个“黑客”:dynamically add and remove view to viewpager
但正如我之前所说,我试图让它自然地工作,而不是维护 3,5,... 项目并强制 ViewPager 根据一些扭曲的逻辑改变当前位置
目前是否有足够的实施或是否有必要实施?
如果这将是一个全新的实现,我愿意赏金奖励答案。
【问题讨论】:
-
我们可以在 ViewPager 中添加任意数量的视图。我已经在我的一个应用程序中实现了相同的功能。看看@FoamyGuy ViewPager 的简单演示,其中我们可以拥有无限数量的页面github.com/FoamyGuy/MathFactCards
-
@Pragnani 但你只是在正确的方向上扩展,我试图动态地进入两个方向,没有黑客攻击。
-
@Pragnani 你可以添加无限的页面,但只能在一个方向。我认为他的问题是不同的。
-
@MarekSebera 最近找到了...
-
不知道谷歌日历是怎么实现的?感觉就像一个无限视图的寻呼机,因为您可以继续向左和向右滚动浏览这些日子。
标签: java android dynamic collections