2015-02-11 43 views
1

实现置顶导航栏我试图用RecyclerView创建以下布局:在RecyclerView

On initial layout After scrolling, with Navigation bar stuck to top

地区:

  1. 头 - 滚动关闭屏幕。
  2. 导航栏 - 滚动到屏幕顶部,然后粘住。区域3的内容在其下方滚动。 A.列表按钮 - 以列表形式显示3的内容。

    B.网格按钮 - 以网格形式显示3的内容。

    C.信息按钮 - 隐藏3的内容,显示不同的视图。

  3. 项目 - 显示为列表或网格的视图。

我目前正在使用StaggeredGridLayoutManager,它允许我设置区域1和2的全跨度,并给我选择切换区域3以显示为列表或网格。

我该如何实现导航栏的这个概念?我已经尝试将它作为ItemDecoration实现,但会阻止按钮的OnClick功能。

+0

您是否记录了如何使用ItemDecoration实现这个功能?我正在寻找类似的解决方案,但我不需要与我的标题相关联的点击监听器。 至于你的问题,我相信双方: -https://github.com/timehop​​/sticky-headers-recyclerview -https://github.com/eowise/recyclerview-stickyheaders这些库的 允许单击标题视图上的侦听器。 – 2015-03-06 20:21:32

+0

这两个都允许在标题视图上单击监听器,但我的“标题”是一个导航栏,它需要三个独立的监听器。 我最终没有使用物品装饰,而是使用单独的库。 – 2015-03-07 21:24:14

回答

1

我偶然发现了SuperSLiM,这是一个支持所有这些功能和更多功能的布局管理器。如果你想用RecyclerView做任何有趣的事情,我强烈建议你看看这个库。