有谁知道一种创建滚动视图的方法,当到达终点时,下一项将成为第一项? Internet Explorer将更像一个轮子。

我有一个水平滚动视图,其中包裹了充满照片的线性布局,当然,我可以从头到尾滚动,然后向后滚动,但是没有人知道一种允许滚动无限地向任一方向移动并且永远不会到达终点的方法吗?

最佳答案

使用ListView而不是ScrollView。然后,您可以将项目集合保持在数组中。您必须创建自己的适配器,该适配器返回索引n的第(n%size)个元素。

您还需要向列表视图中添加一个OnScrollListener,以检查列表中的第一个和/或最后一个元素是否可见。如果是这样,您将需要通过将返回的大小(而不是内部大小)增加原始大小来“扩大”适配器的大小。

您可能会遇到的一个问题是,适配器增大后,在ListView中保持正确的滚动位置。在调整适配器大小之前,您可能需要检查第一个可见元素的位置,然后再滚动到该相同位置。

请记住,连续滚动将消耗越来越多的内存,直到您的布局无响应为止。

关于android - 无尽的横ScrollView表现得像轮子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8902205/

10-12 05:26