Android垂直列表视图,顶部有水平滚动

时间:2015-03-20 19:46:48

标签: android listview swipe paging

我有一个Android应用程序,其中我有一个多个"类别"每个都有一些与之相关的项目。就像在线电子商店一样,你可以将计算机,打印机,相机等类别作为类别,然后每个类别都会包含一些项目。

这些类别应显示为"标签"在屏幕顶部可以选择一个选项卡来显示与之关联的项目。这样可以正常工作,但我想要的是能够通过在屏幕上向左或向右滑动来更改类别。 Image of a single tab selected (the first)

正如您在图像上看到的那样,选择了第一个选项卡。现在我需要的是当用户向右滑动时,将选择选项卡2,并且列表视图中的所有项目当然将更改为类别2(tab2)的项目。所有项目(独立于类别)具有相同的设计,这就是我只使用一个列表视图的原因。我遇到的一些问题是:

  • 我从一开始就不知道会有多少个标签,所以必须在运行时创建它们。

  • 我无法在每个项目上创建滑动侦听器,因为如果项目没有填满屏幕,用户将无法滑动(如下面的示例中所示只有4个项目,下面有一个空白区域,然后就没有听众了。这似乎也可能是性能沉重?

  • 在整个视图中添加滑动侦听器,其中包含列表类型的作品,但此视图会拦截包括点击在内的所有手势,这意味着用户将无法单击也需要的单个项目。

  • 我考虑过使用ViewPager,但之前从未使用过ViewPager,而且我不知道它是否过度杀伤,因为我基本上只需要#34;一个"查看,但根据选项卡选项使用不同的数据。

希望任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:0)

您使用ViewPager进入正确的轨道,但为了获得顶级的正确功能,您应该使用Jake Wharton的库。

https://github.com/JakeWharton/ViewPagerIndicator

您可以设置您的顶级元素,并且寻呼机将与适应的回调中的适当片段对应。