0

我想在 Horizo​​ntallScrollView 中循环视图。

例子:

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 . . . 

我正在寻找一个很好的方法来实现它!

4

2 回答 2

1

这对于HorizontalScrollView. 一个正确编写的PagerAdapter——一个返回非常高的值getCount()并返回相同的 N 个视图的——可能能够用ViewPager. 我不会使用任何内置的基于片段的PagerAdapter实现,因为它们可能会对您的视图回收会违反的适配器行为做出一些假设。

于 2012-09-04T13:46:57.860 回答
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);
}

这将形成一个连续循环。

于 2015-01-20T16:04:02.553 回答