如何制作一个只在android上的屏幕内浮动的粘性列表项?

时间:2014-03-19 15:11:39

标签: android listview footer sticky

有许多粘性页眉和页脚的解决方案。但我想要的是制作一个首先显示在列表顶部的粘性项目,同时向下滚动粘性项目将滚动列表直到屏幕的末尾而不是列表的末尾。

因此它只会在屏幕内浮动。我试图找到解决方案2天但是找不到任何有效的方法。

您可以查看此示例:https://www.numbrs.com/ 我想要的是将文本信息作为列表项目放在顶部,不会超出屏幕,以便更好地指示过去和未来的项目。

您有任何解决方案或建议吗?

1 个答案:

答案 0 :(得分:1)

你应该破解这些项目。

https://github.com/bauerca/drag-sort-listview

https://github.com/LarsWerkman/QuickReturnListView

“drag-sort-listview”显示了一种创建将浮动的列表项视图副本的方法。您必须扩展ListView并覆盖OnDraw(Canvas)dispatchDraw(Canvas)方法以获取浮动视图。 不要忘记致电setWillNotDraw(false)invalidate()以便成功更新视图。

“QuickReturnListView”显示获取和缓存其他列表项视图的垂直位置。这些位置用作浮动视图将被定位的参考。 translateY()方法用于移动浮动视图。

注意:早期版本的“drag-sort-listview”用于通过添加WindowManager而不是在最新版本的ListView中绘制视图来绘制浮动视图。就个人而言,我用较旧的方式取得了成功,但没有使用最新版本。我的问题是OnDraw()dispatchDraw()方法未被调用。我找不到为什么会这样,只是在SO和google上找到。如果你知道的话请告诉我。

更新:我可能会误解你想要的东西。我无法测试您的示例,因为我没有任何iOS设备。如果我了解你,this必须是正确答案。