我想在HorizontallScrollView中循环视图。
示例:
HorizontalScrollView holding 5 Views
When swiping through the Views the behaivior should be like this:
1 -> 2 -> 3 -> 4 -> 5 -> 1 -> 2 . . .
Or backwards:
1 <- 5 <- 4 <- 3 . . .
我正在寻找一种很好的方法来实现它!
答案 0 :(得分:1)
对于HorizontalScrollView
,这可能不太可行。正确编写的PagerAdapter
- 为getCount()
返回非常高的值并返回相同的N个视图的ViewPager
可能能够使用PagerAdapter
将其拉出。我不会使用任何内置的基于片段的{{1}}实现,因为这些实现可能会对视图回收违反的适配器行为做出一些假设。
答案 1 :(得分:0)
即使问题陈旧,也值得回答:)
简单获取scrollViews的宽度或高度,并获得以x / y滚动的数量。
HorizontalScrollView scroller;
int scrollerWidth = scroller.getMeasuredWidth();
int scrollX = scroller.getScrollX();
int activeViewCount = 0;
activeViewCount = (activeViewCount > 0) ? activeViewCount - 1 : 0;
scroller.smoothScrollTo(activeViewCount * scrollerWidth, 0);
if (scrollX >= scrollerWidth) {
scroller.scrollTo(0, 0);
}
这将是一个持续的循环。