【问题标题】:Android Vertical Listview with horizontal scrolling on topAndroid Vertical Listview,顶部有水平滚动
【发布时间】:2015-03-21 04:07:30
【问题描述】:

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

这些类别应在屏幕顶部显示为“选项卡”,您可以在其中选择一个选项卡以显示与其关联的项目。这可以正常工作,但我想要的是能够通过在屏幕上向左或向右滑动来更改类别。

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

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

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

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

  • 我曾考虑过使用 ViewPager,但我以前从未使用过,我不知道这是否有点矫枉过正,因为我基本上只需要“一个”视图,但根据选项卡选择使用不同的数据。

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

【问题讨论】:

    标签: android listview swipe paging


    【解决方案1】:

    您使用 ViewPager 是正确的,但要获得正确的顶部功能,您应该使用 Jake Wharton 的库。

    https://github.com/JakeWharton/ViewPagerIndicator

    你可以设置你的top元素,pager会在适配的回调中对应一个合适的fragment。

    【讨论】:

    • 这看起来很像我想要的我会看看它!
    • 接受了,虽然我没有使用那个特定的 ViewPagerIndicator,但如果没有这篇文章,我不会想出如何去做。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    相关资源
    最近更新 更多