【问题标题】:How to make a sticky list item which will float only within the screen on android?如何制作一个只在android屏幕上浮动的粘性列表项?
【发布时间】:2014-04-25 22:52:06
【问题描述】:

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

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

你可以看看这个例子:https://www.numbrs.com/ 我想要的是将顶部的文本信息作为一个列表项,不会走出屏幕,以便更好地指示过去和未来的项目。

您有什么解决方案或建议吗?

【问题讨论】:

    标签: android listview footer sticky


    【解决方案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 和谷歌上找到。如果你知道请告诉我。

    更新:我可能误解了你想要什么。我无法测试您的示例,因为我没有任何 iOS 设备。如果我理解你,this 一定是正确答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      相关资源
      最近更新 更多