大家都知道GridView不像ListView那样支持页眉和页脚。在GridView中实现标题支持的最佳方式是什么?
有几种方法可以实现这一点:
- 手动使用ListView和形式columnt通过ViewGroups。它不适合我,因为它需要很多布局操作,比如测量和布局,并且很难在顶部实现绘图选择器。
- 使用特殊适配器。它可以很好地处理页脚:我们应该使用
Space
填充最后一个单元格,然后在页脚之后手动插入宽度等于GridView宽度的页脚。但是这不适用于标题:虽然标题被拉伸,但下一个单元格浮动。 - 使用GridLayout。 GridLayout很好,但500-1000个单元的性能如何? AdapterView支持缓存和重用视图,据我所知,这是不可能与GridLayout。
扩展GridView并编写自定义类,该类允许在网格内容之前绘制标题。这很困难,但它应该工作得非常快。让我们试图弄清楚如何做到这一点:
- 测量标题。这很简单,我对此没有疑问。
- 网格顶部的布局标题。我们也应该考虑使用滚动位置来允许整个网格内容移动标题,所以我的第一个问题是:如何知道在滚动时底部边框应该位于哪里?
- 在标题后面布置整个网格内容。怎么做?我以前更新过。
- 调度绘制到标题视图也解决超滚动效果,如果它不好。
- 处理滚动事件和刷新标题位置。
那么你可以建议我吗?如何做标题偏移量?用每个滚动事件调用转播是否正确?