我正在寻找一个库/视图,该库/视图将使我有一个“固定标头”列表视图,其中多个标头堆叠在顶部。与当前的“联系人”应用程序的工作方式非常相似,但是当B到达顶部时,A不会消失,而是B堆叠在其下方,然后是C,依此类推。
我知道,如果标题太多,则屏幕房地产可能会成为一个问题,但是我的用例不需要超过2个或3个标题,因此在不久的将来应该不成问题。
我一直在使用一些当前的PinnedHeaderListViews(例如https://github.com/JimiSmith/PinnedHeaderListView),但是我看不到一种简单的方法来调整这些效果以适应我的需要。有谁知道会完成此任务的任何库,或者我应该在哪里开始调整另一个库?
提前致谢
最佳答案
编辑:
我在下面讨论的解决方案有一个主要缺陷,它不允许固定的标头响应触摸事件。对我来说,这是一个主要的问题,因为我需要每个标题都是一个具有自己独特响应的按钮。我研究了这个问题,经过大量的调整和更改,我得到了一个更接近我所寻找的系统的系统。它不再在底部固定视图,而是允许标头接受固定或列表中的触摸事件。如果您想尝试一下,讨论和示例项目位于以下位置:
https://groups.google.com/d/msg/android-developers/VMr3CA_H798/G23oRmpfLKgJ
原版的:
经过更多搜索和一点调整,我找到了一个对我有用的解决方案。我最终使用了一些隐藏在Android源代码中的东西,并对其进行了一些微调,以使用所需的数据结构...
CompositeCursorAdapter-扩展BaseAdapter并创建用于标头交互的接口
PinnedHeaderListAdapter-扩展CompositeCursorAdapter并实现PinnedHeaderListView的接口
PinnedHeaderListView-扩展ListView并处理所有标题跟踪和绘制
在CompositeCursorAdapter中,我只是删除了Partition类,并将其替换为所需的数据结构。这些更新导致PinnedHeaderListAdapter中的一些更新。我还必须创建另一个扩展PinnedHeaderListAdapter的适配器,以处理PinnedHeaderListAdapter和CompositeCursorAdapter的所有最终方法实现。使用这个我最终得到一个看起来像这样的列表...
如果有人需要更多详细信息,请在下面评论,我将尝试回答任何问题或根据需要发布代码